2015-05-25 4 views
2

Проблемы с облачным хранилищем Google api. следуя настройке отсюда: https://cloud.google.com/storage/docs/gsutil_installАутентификация с использованием .boto Google Cloud Storage api

Вот мой код, он должен просто распечатать файлы в ведре. Эта структура работала с более ранней версией oauth2plugin, но не могла заставить ее работать с новыми модулями gcs.

from gcs_oauth2_boto_plugin import oauth2_plugin 
from os import path 
import boto 
from boto.s3.key import Key 

uri = boto.storage_uri(mybucket,'gs') 
for obj in uri.get_bucket(): 
    print obj.name 

Я получаю эту ошибку:

File "C:\Users\Tim.Samain\Documents\Aptana Studio 3 Workspace\SVN\WW_7861_DL.py", line 37, in <module> 
    for obj in uri.get_bucket(): File "C:\gsutil\gsutil\third_party\boto\boto\storage_uri.py", line 181, in get_bucket 
    conn = self.connect() File "C:\gsutil\gsutil\third_party\boto\boto\storage_uri.py", line 140, in connect 
    **connection_args) File "C:\gsutil\gsutil\third_party\boto\boto\gs\connection.py", line 47, in 
__init__ 
    suppress_consec_slashes=suppress_consec_slashes) File "C:\gsutil\gsutil\third_party\boto\boto\s3\connection.py", line 190, in __init__ 
    validate_certs=validate_certs, profile_name=profile_name) File "C:\gsutil\gsutil\third_party\boto\boto\connection.py", line 572, in 
__init__ 
    host, config, self.provider, self._required_auth_capability()) File "C:\gsutil\gsutil\third_party\boto\boto\auth.py", line 926, in get_auth_handler 
    ready_handlers.append(handler(host, config, provider)) File "C:\gsutil\gsutil\third_party\gcs-oauth2-boto-plugin\gcs_oauth2_boto_plugin\oauth2_plugin.py", line 36, in __init__ 
    self.oauth2_client = oauth2_helper.OAuth2ClientFromBotoConfig(config) File "C:\gsutil\gsutil\third_party\gcs-oauth2-boto-plugin\gcs_oauth2_boto_plugin\oauth2_helper.py", line 121, in OAuth2ClientFromBotoConfig 
    'client_id for your application obtained from ' Exception: client_id for your application obtained from https://console.developers.google.com must be set in a boto config or with OAUTH2_CLIENT_ID environment variable or with gcs_oauth2_boto_plugin.SetFallbackClientIdAndSecret function. 

Я мой .boto файл, выполненный в соответствии с Документами установки. Просто не знаю, почему я получаю эту ошибку.

Спасибо

ответ

3

Я в конечном итоге с указанием client_id и client_secret явно в файле .boto.

Это обсуждается здесь: https://cloud.google.com/storage/docs/gspythonlibrary

Но не упоминается здесь: https://cloud.google.com/storage/docs/gsutil_install#config , который говорит о настройке файла .boto

код, так как общий выше, то функции, как ожидалось и печатает все файлы ведро.

Смежные вопросы