Google Content API for Shopping - Python OAuth invalid_grant

时间:2014-07-04 19:28:26

标签: python oauth google-api gdata

我试图利用 google content api 购物,在我的 Google商家帐户中添加/更新产品。 我觉得OAuth有些问题。

提前感谢您的帮助!

示例代码

f = file("key.p12", 'rb')
CLIENT_SECRET = f.read()
f.close()
ACCOUNT_ID = 'xxxxxxx'
CLIENT_ID = 'xxxxxxxxx.apps.googleusercontent.com'
SERVICE_ACCOUNT_EMAIL =  'xxxxxxxx@developer.gserviceaccount.com'
SCOPE = 'https://www.googleapis.com/auth/structuredcontent'
USER_AGENT = 'content-api-example'

credentials = SignedJwtAssertionCredentials(
    SERVICE_ACCOUNT_EMAIL,
    CLIENT_SECRET,
    scope=SCOPE)

http = httplib2.Http()

http = credentials.authorize(http)

auth_token = gdata.gauth.OAuth2TokenFromCredentials(credentials)

entry = gdata.contentforshopping.data.ProductEntry()
...
shopping_client.InsertProduct(entry)

输出

auth2client.client.AccessTokenRefreshError: invalid_grant

1 个答案:

答案 0 :(得分:2)

您似乎正在使用服务帐户访问API。确保您登录到您尝试访问的相应Google Merchant Center帐户,并将从Google Developer Console生成的服务帐户电子邮件(在您的代码中,这是SERVICE_ACCOUNT_EMAIL中的值“)添加到”设置>用户“部分并授予此电子邮件地址”标准“或”管理“访问权限,具体取决于您请求的范围。

这是一个经常错过的步骤,并未在Google的文档中专门提及。

希望这有帮助