你能在同一个程序中打印 API 的配额限制吗?
Can you print API's quota limit in the same program?
下面的代码片段从 YouTube 视频中检索评论。
YouTube API 的配额限制为 10,000 units
。那么是否可以在同一个程序中显示已使用和剩余的单位?
def getAllTopLevelCommentReplies(topCommentId, replies, token):
replies_response=youtube.comments().list(part='snippet',
maxResults=100,
parentId=topCommentId,
pageToken=token).execute()
for item in replies_response['items']:
replies.append(item['snippet']['textDisplay'])
if "nextPageToken" in replies_response:
return getAllTopLevelCommentReplies(topCommentId, replies, replies_response['nextPageToken'])
else:
return replies
def get_comments(youtube, video_id, comments=[], token=''):
totalReplyCount = 0
replies=[]
video_response=youtube.commentThreads().list(part='snippet',
videoId=video_id,
pageToken=token).execute()
for item in video_response['items']:
comment = item['snippet']['topLevelComment']
text = comment['snippet']['textDisplay']
totalReplyCount = item['snippet']['totalReplyCount']
if (totalReplyCount > 0):
comments.extend(getAllTopLevelCommentReplies(comment['id'], replies, None))
else:
comments.append(text)
replies = []
if "nextPageToken" in video_response:
return get_comments(youtube, video_id, comments, video_response['nextPageToken'])
else:
return comments
youtube = build('youtube', 'v3',developerKey=api_key)
comments = get_comments(youtube,video_id)
print(len(comments))
根据 Youtube 的 API 参考 https://developers.google.com/youtube/v3/docs,无法使用 API 本身检索剩余配额。
但是您可以在 Google 开发者控制台 (https://console.developers.google.com) 中查看您的每日配额使用情况和限制。
下面的代码片段从 YouTube 视频中检索评论。
YouTube API 的配额限制为 10,000 units
。那么是否可以在同一个程序中显示已使用和剩余的单位?
def getAllTopLevelCommentReplies(topCommentId, replies, token):
replies_response=youtube.comments().list(part='snippet',
maxResults=100,
parentId=topCommentId,
pageToken=token).execute()
for item in replies_response['items']:
replies.append(item['snippet']['textDisplay'])
if "nextPageToken" in replies_response:
return getAllTopLevelCommentReplies(topCommentId, replies, replies_response['nextPageToken'])
else:
return replies
def get_comments(youtube, video_id, comments=[], token=''):
totalReplyCount = 0
replies=[]
video_response=youtube.commentThreads().list(part='snippet',
videoId=video_id,
pageToken=token).execute()
for item in video_response['items']:
comment = item['snippet']['topLevelComment']
text = comment['snippet']['textDisplay']
totalReplyCount = item['snippet']['totalReplyCount']
if (totalReplyCount > 0):
comments.extend(getAllTopLevelCommentReplies(comment['id'], replies, None))
else:
comments.append(text)
replies = []
if "nextPageToken" in video_response:
return get_comments(youtube, video_id, comments, video_response['nextPageToken'])
else:
return comments
youtube = build('youtube', 'v3',developerKey=api_key)
comments = get_comments(youtube,video_id)
print(len(comments))
根据 Youtube 的 API 参考 https://developers.google.com/youtube/v3/docs,无法使用 API 本身检索剩余配额。
但是您可以在 Google 开发者控制台 (https://console.developers.google.com) 中查看您的每日配额使用情况和限制。