【发布时间】:2018-05-02 06:26:01
【问题描述】:
我正在尝试获取我的 App Engine 上的云端硬盘文件列表。该应用程序不适用于该应用程序以外的消费者,因此我没有为用户登录实施 OAuth2。
我在 GCP 项目中启用了云端硬盘,并且计算实例是所有者。但是,我收到以下错误:
Traceback (most recent call last):
File "test.py", line 5, in <module>
credentials = app_engine.Credentials(scopes=SCOPES)
File "/usr/local/lib/python2.7/site-packages/google/auth/app_engine.py", line 105, in __init__
'The App Engine APIs are not available.')
EnvironmentError: The App Engine APIs are not available.
这是我的代码(基于本教程:https://developers.google.com/api-client-library/python/auth/service-accounts):
from google.auth import app_engine
import googleapiclient.discovery
SCOPES = ['https://www.googleapis.com/auth/drive']
credentials = app_engine.Credentials(scopes=SCOPES)
project_id = 'project-id'
service = googleapiclient.discovery.build('drive', 'v3',credentials=credentials)
bucket = service.files().list(project=project_id).execute()
print bucket
我的凭据出了点问题,我不确定是什么。
Tldr;如何授权我的 App Engine Flask 应用(标准)使用 Google API,包括 Google Sheets、Drive、BigQuery 等。请记住,这是一个服务器到服务器的工作。除了应用程序本身之外,没有其他用户正在登录。
最终,我尝试将 Google 表格中的值与 BigQuery 同步(该应用需要 Drive 和 BQ 权限),然后将其推送到 DataStore。
如果您对如何修复它有建议,ELI5。
【问题讨论】:
标签: python google-app-engine oauth google-sheets-api