我找到了多个相似的教程和文章,但没有一个能给我答案。我已经遍历了这些和其他内容:
https://developer.chrome.com/extensions/tut_oauth
Google sheets API with chrome extension, how to use?
Google Sheets API and Chrome Apps
Accessing Google Sheets from Chrome extension via Chrome Identity API
我正在尝试从Chrome扩展程序中读取Google表格。我已登录Chrome,并且可以使用自己的帐户访问该工作表,并且也登录了云端硬盘。我已经从清单中的开发人员仪表板中获取了ID,并在Google API上设置了客户端ID和身份验证密钥的凭据。
manifest.json
{
"name": "",
...
"key": "---nice long key here--",
"oauth2": {
"client_id": "...apps.googleusercontent.com",
"scopes": ["https://www.googleapis.com/auth/spreadsheets.readonly"]
},
"permissions": ["identity", "identity.email", "tabs", "declarativeContent", "storage"],
...
"manifest_version": 2
}
我可以控制台登录auth令牌,但不能完全确定如何从工作表中提取数据。
window.onload = function() {
document.getElementById('fetch-btn').addEventListener('click', function() {
console.log('fetch btn press');
chrome.identity.getAuthToken({interactive: true}, function(token) {
console.log(token);
//GET DATA HERE WITH FETCH()??
});
});
};
我只想能够读取图纸数据。到目前为止,我最好的是:
let init = {
method: 'GET',
async: true,
headers: {
Authorization: 'Bearer ' + token,
'Content-Type': 'application/json'
},
'contentType': 'json'
};
fetch('https://docs.google.com/spreadsheets/d/--SHEET-ID--/values?key=apiKey', init)
.then((response) => response.json())
.then(function(data) {
console.log(data)
});
但是它返回404和“未捕获(承诺)SyntaxError:JSON中位置0的意外令牌<”。
如果我直接在浏览器中尝试此URL:
https://sheets.googleapis.com/v4/spreadsheets/--SHEET-ID--?key=apiKey
...使用正确的ID和密钥,我得到以下信息:
{
"error": {
"code": 404,
"message": "Requested entity was not found.",
"status": "NOT_FOUND"
}
}
非常感谢任何帮助或指点。
答案 0 :(得分:0)
结果证明确实可以,URL不太准确