【发布时间】:2020-11-22 07:04:46
【问题描述】:
我与我的 Google 服务帐户电子邮件共享了一个 Google 表格,其内容如下:
myappname-service@myappname-266229.iam.gserviceaccount.com
这允许我的应用程序访问该 Google 表格。
我希望能够与自定义电子邮件地址(例如 google@myappname.com)共享 Google 表格,该电子邮件地址是那个丑陋的自动生成的服务帐户电子邮件 (myappname-service@myappname-266229.iam.gserviceaccount.com) 的别名。
我该怎么做呢?
编辑:
用于与 Google API 交互的代码示例
from google_auth_httplib2 import AuthorizedHttp
from google.oauth2 import service_account
import pygsheets
def _get_gc():
scope = ['https://www.googleapis.com/auth/spreadsheets']
credentials = service_account.Credentials.from_service_account_file(
settings.GOOGLE_SERVICE_AUTH_FILE,
scopes=scope,
)
http = AuthorizedHttp(credentials, http=HTTP)
logger.info('Created GC creds, returning...')
return pygsheets.authorize(custom_credentials=credentials, http=http)
def do_something(url):
gc = _get_gc()
spreadsheet = gc.open_by_url(url)
【问题讨论】:
-
请按照How to Ask 中的建议添加您的搜索/研究工作的简要说明。
-
网上根本没有这方面的内容,因此问题中缺少该信息。
-
我认为您应该研究一下如何在 Google Drive、Google 服务帐户、Google Groups 和 G Suite 电子邮件别名上共享文件。此服务帐号是使用 G Suite 帐号还是 Google 普通帐号(通常是 gmail.com 电子邮件地址)创建的?
-
只有普通账户可以有别名,服务账户不能。您可以在创建服务帐户时设置
@之前的内容,但域(@之后的内容)取决于您的应用程序名称,您不能为此创建别名。如果您提供有关您的情况的更多信息,也许可以找到解决方法?为什么要使用服务帐号? -
@Rubén 这是一个 G Suite 帐户。
标签: google-sheets google-authentication google-cloud-iam