首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Google Compute Engine上的应用程序默认凭据访问Sheets API

使用Google Compute Engine上的应用程序默认凭据访问Sheets API
EN

Stack Overflow用户
提问于 2018-08-16 23:22:12
回答 2查看 2K关注 0票数 4

ADC (应用程序默认凭据)工作流是否仅支持Google Cloud API(例如,支持Google Cloud Storage API,但不支持Google Sheet API)?

我指的是google.auth's default method -不需要在代码中存储任何私钥是一个很大的胜利,也是有效利用ADC (应用程序默认凭证)设置的主要好处。

如果我将GOOGLE_APPLICATION_CREDENTIALS环境变量设置为私钥文件key.json,则以下代码可以正常工作。这与google.auth包的步骤1中的default方法是内联的:1. If the environment variable GOOGLE_APPLICATION_CREDENTIALS is set to the path of a valid service account JSON private key file, then it is loaded and returned.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import google.auth
from apiclient import discovery

credentials, project_id = google.auth.default(scopes=['https://www.googleapis.com/auth/spreadsheets'])

sheets = discovery.build('sheets', 'v4', credentials=credentials)

SPREADSHEETID = '....'

result = sheets.spreadsheets().values().get(spreadsheetId=SPREADSHEETID, range='Sheet1!A:B').execute()

print result.get('values', [])

现在,看一下该方法的第4步:4. If the application is running in Compute Engine or the App Engine flexible environment then the credentials and project ID are obtained from the Metadata Service.

如果我删除Google Compute实例上的GOOGLE_APPLICATION_CREDENTIALS环境变量,我会得到以下错误:

googleapiclient.errors.HttpError: <HttpError 403 when requesting https://sheets.googleapis.com/v4/spreadsheets/..../values/Sheet1%21A%3AB?alt=json returned "Request had insufficient authentication scopes.">

这与Google云控制台的向导不一致:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-17 13:25:28

根据this documentation的说法,您正在使用的作用域需要Oauth 2.0授权。因此,需要用户登录并获得同意。

票数 2
EN

Stack Overflow用户

发布于 2020-03-11 20:14:17

对于生成构造函数,凭据是可选的。省略它们,云函数服务帐户将用于根据工作表进行身份验证。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from apiclient import discovery

sheets = discovery.build('sheets', 'v4')

SPREADSHEETID = '....'

result = sheets.spreadsheets().values().get(spreadsheetId=SPREADSHEETID, range='Sheet1!A:B').execute()

print result.get('values', [])
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51886522

复制
相关文章
用Google Sheets搭建深度网络
我想告诉你们,卷积神经网络并不像听起来那么可怕。我将通过展示我在google sheets中制作的一个实现来证明它。这里有一些可用的内容。复制它(使用左上角的file→make a copy选项),然后你可以尝试一下,看看不同的控制杆是如何影响模型的预测的。
AiTechYun
2019/11/18
1.6K0
新的Power Query Google Sheets连接器!
在Power BI 11月的更新中,Power Query团队为我们带来了一个新的连接器:Google Sheets连接器
陈学谦
2021/12/01
6.1K0
新的Power Query Google Sheets连接器!
Excel与Google Sheets中实现线性规划求解
很久没更新过APS系列文章了,这段时间项目工作确实非常紧,所以只能抽点时间学习一下运筹学的入门知识,算是为以后的APS项目积累点基础。看了一些运筹学的书(都是科普级别的)发现原来我目前面对的很多排产、排班、资源分配和路线规划问题,都是运筹学上的典型案例。与此同时,除了继续使用Optaplanner来做我们的规划类项目外,还花点时间去研究了一下Google OR-Tools开源规划引擎,这是Google旗下的一个开源求解器,接下来我会专门写一些关于Google OR-Tools应用的文章,并与Optaplanner作些关联对比。
Kent Zhang
2019/09/17
3.8K0
Excel与Google Sheets中实现线性规划求解
函数的嵌套
# 输出:输出我在中国(大函数) 北京(小函数) def func_big(country): def func_small(city): print('我在%s,城市是%s' % (country, city)) func_small('北京') func_small('广州') func_big('中国') def func_big(country, bcity='北京'): def func_small(city): print
汪凡
2018/05/29
1.2K0
函数嵌套
现在有一个需求,通过给一个函数传参即可求得某个圆的面积或者圆的周长。也就是说把一堆工具丢进工具箱内,之后想要获得某个工具,直接从工具箱中获取就行了。
py3study
2020/01/16
9740
函数嵌套
Google Sheets新功能:通过自然语言指令自动生成图表
唐旭 编译整理 量子位出品 | 公众号 QbitAI Google Sheets更新了。今早,Google旗下图表编辑应用Sheets的产品经理Daniel Gundrum在博客上发文,详细介绍了Google Sheets此次更新增加的新功能。其中最大的亮点,是机器学习在数据可视化上的进一步应用:现在,用户可以通过输入自然语言指令,来让系统自动生成合适的图表。 这一更新是通过Explore——Google的自然语言搜索系统来实现的。 Gundrum在原文中说: “Sheets中的Explore由机器学习驱动
量子位
2018/03/28
2.1K0
Google Sheets新功能:通过自然语言指令自动生成图表
lambda隐藏函数的嵌套
# 隐藏函数嵌套 f = (lambda a,b :a if a>b else b)(1000, 2000008) print((lambda a,g:a if a > g else g)(2000,f)) # lambda 推导式 l = [lambda x:x**i for i in range(4)] print(l[1](4))
汪凡
2018/05/29
1K0
VisualStudio 过滤输出窗口文本
如果一个项目是很多小伙伴开发,里面有一些逗比喜欢在输出窗口输出大量无意义的文本,那么很难通过输出窗口调试 本文告诉大家通过 VisualStudio 插件过滤输出窗口文本,让 VisualStudio 的输出只是自己需要的信息
林德熙
2019/03/13
1.6K0
VisualStudio 过滤输出窗口文本
python-函数的对象、函数嵌套、名称
内存存储变量名与变量间的绑定关系的空间(存放变量名的空间),这个空间被称为名称空间。
py3study
2020/01/15
2.3K0
函数(五)(函数的嵌套与递归调用)
C语言的函数定义是互相平行和独立的,但函数的调用是可以嵌套的,也就是说,在调用一个函数的过程中,又去调用另外一个函数。
pigeon
2022/04/11
1.6K0
函数(五)(函数的嵌套与递归调用)
Python嵌套函数与匿名函数
函数的嵌套调用是在"函数调用中再调用其他函数"。也就是说:函数嵌套允许在一个函数中调用另外一个函数。如下: name = "Forest" def change(): name = "Forest1" def change2(): # global name 如果声明了这句,下面的name改的是最外层的全局变层 name = "Forest2" #这句注释掉的话,则打印Forest1 print("第3层打印", name)
Yuou
2022/09/26
4920
javascript当中嵌套函数
3)嵌套函数 例 3.3.1 <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> </head> <script> function outerFun(){ var i = 0; function innerFun(){ document.write(i); } innerFun(); } outerFun(); /*here you can not call innerFun(), because it is inside another function outerFun, so it will cause error.*/ innerFun(); document.write("马克-to-win"); </script>
马克java社区
2019/10/05
4780
javascript当中嵌套函数
【学习】excel函数嵌套
1. 前言: 相信很多学习EXCEL的同伴都会时常将一句话挂在嘴边: “请老师教我下这个公式怎么写?” 要么就是: “老师太牛了,这么厉害的嵌套您是怎么写出来的,能不能教教我?” 说实话,我也被这样问过几次,虽说自己函数学的也不怎么样,但是对于这样的问题,我实在不知如何回答,更谈不上“教”这么神圣的动作。 …… 在我看来(至少我是这么认为的),学习EXCEL不是单纯的了解函数。 了解函数只是工具,更重要的是如何分析问题,写EXCEL公式不是函数记忆大比拼,而是逻辑思维的较量。 …… 可能这样说,只会让一些
小莹莹
2018/04/18
1.1K0
【学习】excel函数嵌套
Human Interface Guidelines —— Action Sheets
自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Material Design与iOS中的组件(顺便学学英语),以便今后在使用的时候完全不虚
霖酱
2018/05/17
7110
C语言:函数的嵌套与递归
在C语言中,所有函数都是相互平行,且相互独立的。在定义函数时,一个函数内不能再定义另一个函数,不能嵌套定义,但是可以嵌套使用。
岳泽以
2022/10/26
8400
C语言:函数的嵌套与递归
Python函数嵌套定义的洪荒之力
本文重点在于:Python允许函数的嵌套定义,这在有些情况下会带来很多方便。 感谢中国石油大学(华东)计算机与通信工程学院李昕老师提供问题。 假设有个列表,内容如下: >>> x = list(range(20)) >>> x [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] 现在我们想得到一个新列表,其中每个值都是x中元素值加5,这很容易用Python内置函数map()实现,例如: >>> list(map(lam
Python小屋屋主
2018/04/16
1.1K0
Python嵌套函数 闭包
这也很好理解,在函数outer中定义了另外一个函数inner,而inner也必须在outer中被调用才能执行。
猫叔Rex
2022/01/24
9820
sql 聚合函数嵌套使用[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151848.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/24
1.4K0
sql 聚合函数嵌套使用[通俗易懂]
python3--嵌套函数
# Auther: Aaron Fan # 嵌套函数 # 定义: # 在一个函数体内,用def重新定义新的函数,才叫嵌套函数 # 示例1:  #属于嵌套函数 def foo():    print("in the foo")    def bar():        print("in the bar")    bar() foo() #而这种就不属于嵌套函数: #def test1(): #    test2() #test1()
py3study
2020/01/06
7460
Matlab系列之函数嵌套
昨天的那一篇讲的几个函数,不知道你们理解的如何,是否懂得怎么去使用了,如果还没懂,一定要再多看几遍,并且去在软件上进行实操,今天的话,将要介绍一下函数的嵌套,不过在正式讲嵌套之前,先对主函数和子函数做下了解。
狂人V
2020/07/14
1.4K0
Matlab系列之函数嵌套

相似问题

从文本中获取值&将其赋值给变量

10

如何从列表中获取值并将其赋值给变量

10

如何从文本框中获取值,并使用TimeValue()将其赋值给变量

12

如何从JTable的多行中获取值并将其赋值给变量?

143

从Read命令中获取值,并将其赋值给变量

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文