在Javascript中使用Google SpreadSheet API的令牌访问权限

时间:2016-08-10 19:09:19

标签: javascript ionic-framework google-api

问题很简单。 我得到了Oauth 2的access_token。我想在google上访问电子表格来阅读。 但是当我从https://developers.google.com/sheets/读到api时。 我不知道把access_token放在哪里,或者甚至不需要它。

我试图将我的访问令牌放在网址上但失败了.. 例如:var sample_url =" https://spreadsheets.google.com/pub?key=0Ago31FFWG3xZrdHF2bWNjcTJFLXJ6UUHYT3dEakdEaXc&hl=en&output=html?accesstoken=" + accessstoken; 我得到了回复。它说" {"数据":{"错误":{"代码":403,"消息":&#34 ;无法使用客户端项目标识请求。请将有效的API密钥与请求一起传递。"," status":" PERMISSION_DENIED"}}," status":403,"配置" {"方法":" GET"" transformRequest":[空]," transformResponse":[空], " URL":" https://sheets.googleapis.com/v4/spreadsheets/1ZduILENRVcnzXTynV00j9puWJEvGgz-EcxOgoPRpOGI/values/A1:D3?ya29.Ci87A42OTqtIqXylTU7QxZALwJjRuf_oXf2FJ-MTY7QvXgWzPhZEKhi4Yhn7HVVV7g""头" {"接受":"应用/ JSON, text / plain, / "}}," statusText":""}" 我知道我必须以某种方式附加访问令牌,但我不知道如何。 你们对电子表格api有什么想法吗?

感谢您阅读本文

2 个答案:

答案 0 :(得分:0)

我不熟悉离子框架,但要使用访问令牌,您应该将其添加到HTTP标头中(例如Authorization: Bearer ya29.xxxxxxxxxxxxxxxxxx)或将其包含在查询字符串中,

参考:https://developers.google.com/identity/protocols/OAuth2InstalledApp#callinganapi

sample_url中存在错误,应该是&access_token=而不是?accesstoken=

应该是,

var sample_url = "https://spreadsheets.google.com/pub"
               + "?key=0Ago31FFWG3xZrdHF2bWNjcTJFLXJ6UUHYT3dEakdEaXc"
               + "&hl=en&output=html&access_token=" + accesstoken;

答案 1 :(得分:0)

我有同样的要求从离子手机访问谷歌电子表格,我们使用了tabletop.js。使用此功能,我们可以完全阅读电子表格。 无论如何它试试这个。 https://github.com/jsoma/tabletop