2

我对 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 中的脚本,它们可以工作,但它们已经太复杂了,我无法理解。我在这里想念的是通过一些简单的例子来理解这个过程是如何工作的,并且能够复制逻辑..

非常感谢!

4

2 回答 2

1

I had the same problem. Turns out your "Shopping Dashboard.json" file must come from merchant center itself, as opposed to the google developer console.

  • Make sure you have admin access
  • In Merchant Center go to the ... drop down menu > Content API
  • Click the Authentication tab & Generate API key. You'll only be able to see this tab if you have admin access.
  • Save content-api-key.json in place of /Users/Shopping Dashboard.json
于 2018-03-27T09:44:17.620 回答
0

这可能是一个象征性的东西。使用此类 API 时,始终需要令牌。但检查一下,看看它是如何使用 urllib2 完成的。

于 2017-03-08T15:10:19.663 回答