2016-05-22 4 views
0

Пробуя на образец Python скрипт Surveys API, «Перечень Surveys» команда возвращает только REQUEST_ID и не «ресурсов» объект со списком исследований, как и ожидалосьSurveys API не возвращает словарь ресурсов

Исполнительными пример сценария

surveysAPI.py --service_account --service_account_secrets_file certificate.json список

Результаты метода "список" команда to_json:

{ 
    "body": null, 
    "methodId": "consumersurveys.surveys.list", 
    "resumable_uri": null, 
    "headers": { 
    "accept-encoding": "gzip,deflate", 
    "accept": "application/json", 
    "user-agent": "google-api-python-client/1.5.1 (gzip)" 
    }, 
    "uri": "https://www.googleapis.com/consumersurveys/v2/surveys?alt=json", 
    "resumable": null, 
    "body_size": 0, 
    "resumable_progress": 0, 
    "method": "GET", 
    "_in_error_state": false, 
    "response_callbacks": [] 
} 

Ответ от выполнения команды списка - нет объектов «ресурсов», как рекламируется.

{ 
    u'requestId': u'5742026000ff0e1cfc8a2e45010001737e3430322d747269616c320001707573682d30352d32302d7230380001013d' 
} 

У меня есть 150 опросов в моей учетной записи. Эта команда отлично работает в API-интерфейсе API, и я могу использовать цепочку токенов следующей страницы, чтобы пройти через список.

Что я делаю неправильно, пожалуйста?

ответ

2

Похоже, вы пытаетесь перечислить опросы, принадлежащие вашей учетной записи, используя учетную запись службы. Для этого вам нужно будет добавить учетную запись службы в качестве владельца к ресурсам, которыми владеет ваша учетная запись. Дополнительную информацию об этом процессе можно найти здесь: How can I allow a user to get access to survey results using the Google Consumer Surveys API?

В качестве альтернативы вы можете настроить секретный секретный ключ OAuth с тремя ногами и использовать его с помощью сценария примера. Это заставит вас войти в систему как свою обычную учетную запись без обслуживания и использовать эти учетные данные. См. https://developers.google.com/identity/protocols/OAuth2WebServer, чтобы установить это.

Тогда вы можете использовать клиента с этими учетными данными. ./example_client.py list --client_secrets_file

Обязательно настройте учетные данные для перенаправления на localhost: 8080, если вы используете сценарий примера.

+0

Большое спасибо за этот быстрый, лаконичный и точечный ответ. Я пошел по маршруту OAuth, потому что было бы очень трудоемким добавлять вручную учетную запись службы в качестве владельца для каждого опроса. Сейчас все работает отлично. Btw параметр «list» в сценарии примера был бы полезен, если бы он работал через разбиение на страницы. В настоящее время в нем перечисляется только первая страница опросов. –