我有以下代码段(来自一个正在工作的Google示例这里):
credentials = GoogleCredentials.get_application_default().create_scoped(
['https://www.googleapis.com/auth/cloud-platform'])我删除了字符串文字周围的方括号,并按如下方式进行了尝试:
credentials = GoogleCredentials.get_application_default().create_scoped(
'https://www.googleapis.com/auth/cloud-platform')没有区别,应用程序的工作方式仍然一样。我的问题是:方括号是用来做什么的,即使它们在上面看起来是多余的,它们是否应该是一种针对其他东西的保险呢?
我在Windows7 x86上运行Python3.5.1。
发布于 2016-04-01 09:08:33
方括号称为列表显示,并生成一个list对象。显然,API接受一个列表或一个字符串。特定的API同时接受字符串和列表并不意味着语法在其他方面是毫无意义的。
文档在主题上有点模糊,只是将参数记录为scopes (复数),并声明它将为给定的作用域创建凭据对象。GoogleCredentials类充当各种环境(从文件或App存储中读取凭据)的分派程序,但根据我所看到的,scopes值最终被传递给oauth2client.util.scopes_to_string(),如果参数还不是字符串,则使用' '.join();因此对于多个作用域,您可以传入一个元组、列表、包含作用域字符串的生成器,或者作为一个空格分隔的字符串传递。
https://stackoverflow.com/questions/36352210
复制相似问题