Я подготовил код, который должен получать данные из консоли Google для веб-мастеров нового веб-API (v3).Ошибка Backend (HttpError 500) при вызовах API консоли Google Search (webmasters/v3)
import os
from oauth2client.service_account import ServiceAccountCredentials
import httplib2
from apiclient.discovery import build
import googleapiclient
import json
client_email = '<ACCOUNT_IDENTIFIER>@<PROJECT_IDENTIFIER>.iam.gserviceaccount.com'
scopes = ['https://www.googleapis.com/auth/webmasters.readonly',
'https://www.googleapis.com/auth/webmasters']
private_key_path = os.getcwd() + os.path.normpath('/key.p12')
http = httplib2.Http()
credentials = ServiceAccountCredentials.from_p12_keyfile(client_email,
private_key_path,
private_key_password="notasecret",
scopes=scopes
)
http_auth = credentials.authorize(http)
webmasters_service = build('webmasters', 'v3', credentials=credentials, http=http_auth)
query_params = {"startDate": "2016-03-01", "endDate": "2016-03-02"}
try:
quered_results = webmasters_service.searchanalytics().query(
key="<KEY>",
siteUrl="http://<SITE_DOMAIN>/",
body=json.dumps(query_params),
fields="rows",
alt="json"
).execute()
print(quered_results)
except googleapiclient.errors.HttpError as e:
print(e)
результаты исполнения с ошибкой:
<HttpError 500 when requesting https://www.googleapis.com/webmasters/v3/sites/http%3A%2F%2F<SITE_DOMAIN>%2F/searchAnalytics/query?key=<KEY>&alt=json&fields=rows returned "Backend Error"
Код сверху для авторизации с SSH ключ с форматом p12. Файл ключа верен. Используя client_secrets.json, вы получите ту же ошибку, код. JSON для ошибки:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "backendError",
"message": "Backend Error",
}
],
"code": 500,
"message": "Backend Error"
}
}
- Я сделал соединять электронную почту для веб-мастеров инструментов консоли.
- Разрешение похоже на работу, так как нет никаких ошибок для используемого ключа/счет
Любые идеи?
Я заметил, что такая же ошибка возникает, когда я извлекаю на https://developers.google.com/apis-explorer с неправильным набором «Тело запроса», но я не вижу ошибки в отправке JSON. BTW Было бы неплохо иметь какое-то подтверждение о том, что ...