doj*_*rge 6 youtube youtube-api youtube-data-api
我一直在尝试检索我的 YouTube 频道的所有订阅者的列表。我正在使用以下格式的查询:
https://content.googleapis.com/youtube/v3/subscriptions?mySubscribers=true&maxResults=50&part=subscriberSnippet&access_token=xxxx
但是,在 1000 个结果之后(例如,20 页@每页 50 条,或 50 页@每页 20 条),它会停止。在文档中,它说它myRecentSubscribers只能检索 1000 个,但mySubscribers没有限制。有什么不成文的限制吗?
小智 1
我刚刚遇到了同样的问题,代码如下:
import os
import google_auth_oauthlib.flow
import googleapiclient.discovery
import googleapiclient.errors
scopes = ["https://www.googleapis.com/auth/youtube.readonly"]
def main():
# Disable OAuthlib's HTTPS verification when running locally.
# *DO NOT* leave this option enabled in production.
os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"
api_service_name = "youtube"
api_version = "v3"
client_secrets_file = "google_oauth_client_secret.json"
# Get credentials and create an API client
flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(
client_secrets_file, scopes)
credentials = flow.run_console()
youtube = googleapiclient.discovery.build(
api_service_name, api_version, credentials=credentials)
next_page_token = ''
count = 0
while next_page_token != None:
print("Getting next page:", next_page_token, count)
request = youtube.subscriptions().list(
part="subscriberSnippet",
maxResults=50,
mySubscribers=True,
pageToken=next_page_token
)
response = request.execute()
next_page_token = response.get('nextPageToken')
subscribers = response.get('items')
for subscriber in subscribers:
count += 1
print('Total subscribers:', count)
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
这是预期的行为,myRecentSubscribers=True但列表应该继续mySubscribers=True...
编辑:显然这是一个不会修复的问题,文档最终可能会更新以反映。(https://issuetracker.google.com/issues/172325507)
| 归档时间: |
|
| 查看次数: |
347 次 |
| 最近记录: |