我是Google API的新手,我有点迷失了:)
首先我和Google APIs Explorer一起玩,一切都很好,我的所有要求。
然后我开始编写一个小的Python脚本来通过服务帐户授权和调用API。
看起来像这样:
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
import httplib2
import json
import os
credentials = ServiceAccountCredentials.from_json_keyfile_name(
filename='/Users/Shopping Dashboard.json',
scopes='https://www.googleapis.com/auth/content')
http = credentials.authorize(httplib2.Http())
service = build('content', 'v2', http=http)
print service.accounts().authinfo().execute()
request = service.accounts().list(merchantId='xxx', maxResults=50)
result = request.execute()
print result
然而,尽管我有点好,但仍然会收到此错误
googleapiclient.errors.HttpError: <HttpError 401 when requesting https://www.googleapis.com/content/v2/xxxxx/accounts?alt=json&maxResults=50 returned "User cannot access account xxxxx">
我认为我在这里想到的是在调用url之前创建我的令牌(?)?但这是如何创造的?我知道有1000个例子,我使用了一些已经在github上的脚本,但是它们可以工作但是它们已经太复杂和复杂,我无法理解。我在这里想念的是理解这个过程如何使用一些简单的例子,并能够复制逻辑..
非常感谢!
答案 0 :(得分:0)
这可能是一件令人信服的事情。使用此类API时,始终需要令牌。但请检查this,看看如何使用urllib2完成。
答案 1 :(得分:0)
我遇到了同样的问题。结果你的&#34; Shopping Dashboard.json&#34;文件必须来自商家中心本身,而不是谷歌开发者控制台。