我的GAE應用正試圖操縱存儲在Google雲端存儲上的文件。來自GAE的雲存儲API請求 - 403未配置訪問
這些文件存儲在我的應用的默認存儲桶中。我已經設法使用GCS Python Client Library(https://developers.google.com/appengine/docs/python/googlecloudstorageclient/)讀取/寫入文件到該存儲桶。
不幸的是,它不支持複製。相反,我嘗試使用API客戶端庫(https://google-api-client-libraries.appspot.com/documentation/storage/v1/python/latest/storage_v1.objects.html)和服務帳戶(https://developers.google.com/api-client-library/python/guide/google_app_engine#ServiceAccounts)
JSON API到目前爲止,我在請求雲存儲URL時收到錯誤403。
下面的代碼:
credentials = AppAssertionCredentials(scope='https://www.googleapis.com/auth/devstorage.read_write')
http = credentials.authorize(httplib2.Http(memcache))
service = discovery.build('storage', 'v1', http=http, developerKey='api_key_generated_from_the_dev_console')
bucket_name = app_identity.get_default_gcs_bucket_name()
# I'm planning to batch multiple requests, although there is just one in this example
batch = BatchHttpRequest()
# process_list_response outputs the exception if any
batch.add(service.objects().list(bucket=bucket_name), callback=process_list_response)
batch.execute(http=http)
這裏的日誌:被請求
網址:被請求 https://www.googleapis.com/discovery/v1/apis/storage/v1/rest?userIp=x.x.x.x
試圖刷新獲得初始的access_token
網址: https://www.googleapis.com/storage/v1/b/xxx.appspot.com/o?alt=json
HttpError 403請求時 https://www.googleapis.com/storage/v1/b/xxx-dev.appspot.com/o?alt=json 返回「訪問未配置。請使用Google Developers Console 爲您的項目激活API。「
下面是我在開發者控制檯中所做的:
- 谷歌雲存儲和谷歌雲存儲JSON API切換 爲ON
- 我創建了一個API密鑰我。用於構建服務(是否有必要,因爲我也使用Oauth?)
- 在權限下,我添加了我的應用程序的成員與電子郵件[email protected]
我該如何做這項工作?