我想构建一个与我的 Google keep 数据交互(编辑、添加、删除)的应用程序。 我创建了一个新的 Google Cloud 项目并启用了 Google Keep API,并创建了一个新的服务帐户来访问该 API。
我已为服务帐户创建凭据并下载它们。我创建了以下代码来使用服务帐户调用 API,但显然它不会返回任何内容,因为它正在访问自己的数据。
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/keep']
SERVICE_ACCOUNT_FILE = 'credentials.json'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE,
scopes=SCOPES
)
service = build("keep", "v1", credentials=credentials)
l = service.notes().list().execute()
print(l)
我尝试将服务帐户电子邮件地址添加为 Google keep 中我的笔记之一上的协作者,但上面的代码仍然只返回一个空字典,并且在刷新 Keep 后,添加的服务帐户也会作为协作者消失,所以我怀疑它是无法在那里添加它们。
有谁知道这是否可行,或者如何通过 API Google Keep 对个人帐户进行操作?
尝试使用 OAuth2 而不是服务帐户。在 Google Cloud 中创建 OAuth2 凭据并下载 client_secret.json。使用 OAuth2 流获取用户同意并生成访问令牌。安装依赖项:“pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client”。实现代码以进行身份验证并调用 Google Keep API。将令牌保存在 token.json 中以供将来使用。