【发布时间】:2021-04-28 19:39:41
【问题描述】:
我正在尝试将 youtube cmets 拉入数据框。我可以提取 youtube 视频的详细信息,但是当我尝试接收 commentThreads 资源时收到 403, "The request is missing a valid API key." 错误。
def get_service(api_name, api_version, scopes, key_file_location):
credentials = ServiceAccountCredentials.from_json_keyfile_name(
key_file_location, scopes=scopes)
# Build the service object.
service = build(api_name, api_version, credentials=credentials)
return service
# Authenticate and construct service.
service = get_service(
api_name='youtube',
api_version='v3',
scopes='https://www.googleapis.com/auth/youtube.force-ssl',
key_file_location='key_file.json')
key_file.json 是服务帐户密钥凭据。
这是我得到错误的地方:
response = service.commentThreads().list(
part = 'snippit',
videoId = video_id,
maxResults = 100,
order = 'relevance',
textFormat = 'plainText',
pageToken = nextPage_token).execute()
我不知道为什么我在这里收到一个禁止的错误,因为当我执行以下功能时,它工作正常:
query_results = service.search().list(part = 'snippet', q = query,
order = 'relevance',
type = 'video',
relevanceLanguage = 'en',
safeSearch = 'moderate',).execute()
【问题讨论】:
-
您有一个错字:将
snippit替换为snippet。 -
key_file.json是否与您正在执行的 Python 脚本位于同一文件夹中?
标签: python google-api youtube-data-api google-api-python-client service-accounts