2017-02-12 13 views
-1

Я хотел бы получить доступ к Google BigQuery общественных набор данных из питона на HerokuAPI.AI для доступа к Google BigQuery общественных наборов данных

Пример - Shakespeare https://bigquery.cloud.google.com/table/bigquery-public-data:samples.shakespeare

В основном в приведенном ниже примере вместо Yahoo Weather API I хочу получить доступ к Шекспировскому DataSet

https://github.com/api-ai/apiai-weather-webhook-sample

Могу ли я получить доступ к этому, используя только api_key я генерировать в качестве публичного набора данных или сделать Мне нужна аутентификация OAuth?

https://support.google.com/cloud/answer/6158857?hl=en

По ссылке выше можно увидеть это «Если вы вызываете только API-интерфейсы, которые не требуют пользовательских данных, таких как Google Custom Search API, то ключи API может быть проще в использовании, чем OAuth 2.0.

Я пробовал много вариаций в GAE и сталкивался с проблемами, когда идентификатор проекта оказался нулевым и, следовательно, теперь собирается попробовать в Heroku, но задаюсь вопросом, нужен ли мне только API_KEY, который я создаю в облачной консоли Google, или мне нужен OAuth как им необходимо связать запрос с проектом для целей выставления счетов? Я уже реализовал пример api погоды yahoo на Heroku, и это работает, но вам нужно заменить звонок на yahoo weather с помощью вызова публичного набора данных BigQuery.

ответ

3

Если я правильно понял ваш вопрос, вы бы хотели знать, как программно обращаться к общедоступным наборам данных BigQuery с помощью Python и, в частности, к аутентификации.

Вам нужно:

  1. Убедитесь, что API BigQuery включен в консоли.
  2. Создайте учетную запись службы в консоли.
  3. Загрузить ключ JSON.
  4. Экспортировать среду GOOGLE_APPLICATION_CREDENTIALS переменная, указывающая на ключ.
  5. Используйте Google Python client lib для запроса данных в BigQuery.

Дополнительная информация here.

Примечание: Это та же процедура для доступа к вашим собственным наборам данных/таблицам.

+0

Thx попробует это ... для # 2 «Создайте учетную запись службы в консоли». Разве u означает генерировать json из «учетных данных» или означает, что вы имеете в виду создание учетной записи службы? – Kumar

+0

См. Здесь -> https://cloud.google.com/iam/docs/creating-managing-service-accounts –

+0

yay .... похоже, что у меня все это просто отсутствовало в одной строке ... bigquery_client = bigquery .Client (project = 'myprojectid123') .. У меня было это как bigquery_client = bigquery.Client (project = '') и думал, что, поскольку json уже принадлежит проекту, эта часть должна работать по умолчанию ... но получала Никакой ошибки проекта и не шел орешки .... Gracias amigos! конечно, мне предстоит пройти долгий путь, но связь я считаю в стороне ... надеюсь, что не празднуем слишком рано ---;) – Kumar