gpt4 book ai didi

google-chrome-extension - 来自 chrome 扩展的 Google Calendar API HTTP 请求

转载 作者:行者123 更新时间:2023-12-04 20:00:37 24 4
gpt4 key购买 nike

我正在为我的 chrome 扩展使用 react-chrome-redux 堆栈。
我已经尝试了日历 API 中的 Javascript/Node.js 快速入门,但它们不起作用。

所以现在我正在尝试通过 Chrome 身份 API 检索 oAuth2 token ,然后发出 HTTP 请求来获取我的数据。

manifest.json

"oauth2": {
"client_id": "CLIENT_ID.apps.googleusercontent.com",
"scopes": [
"https://www.googleapis.com/auth/calendar",
"https://www.googleapis.com/auth/calendar.readonly"
]
},
"key": APP_KEY}

HTTP 请求
chrome.identity.getAuthToken({ 'interactive': false }, function(token) {
var init = {
'method' : 'GET',
'async' : true,
'headers': {
'Authorization' : 'Bearer ' + token,
'Content-Type': 'application/json'
},
'contentType': 'json'
};

fetch('https://www.googleapis.com/calendar/v3/calendars/public/events', init)
.then((response) => response.json()) // Transform the data into json
.then(function(data) {
console.log(data);
})
})

我设法从 oAuth2 token 中获取一长串字符,但是当我尝试发出 HTTP 请求时,我收到 404 状态错误。

我在 Stack Overflow 上找了很长时间,但大多数问题都没有得到很好的回答,而且似乎没有一种简单的方法可以从 chrome 扩展中使用 API。

我真的希望有人可以在这里帮助我,谢谢!

最佳答案

@furydevoid 想通了,

结果默认日历关键字是“主要”而不是“公共(public)”

所以现在我正在为 HTTP 请求执行此操作:

  const headers = new Headers({
'Authorization' : 'Bearer ' + token,
'Content-Type': 'application/json'
})

const queryParams = { headers };

fetch('https://www.googleapis.com/calendar/v3/calendars/primary/events', queryParams)
.then((response) => response.json()) // Transform the data into json
.then(function(data) {
console.log(data);
})
})

对于任何尝试通过 chrome 扩展程序使用 Google Calendar API 的人,
  • Node.js 快速入门并没有真正起作用,因为 Chrome 扩展实际上没有“后端”来执行脚本(至少对于我尝试过的)
  • oAuth 舞蹈有点不稳定,因为在用户授予您权限后,您不能简单地将用户重定向到 Chrome://newtab,因为 Chrome://newtab 并没有真正被识别为重定向到的安全站点或其他东西

  • 无论如何,这是解决方案:
  • 使用 Chrome 的身份 api 检索 oAuth2 token : https://developer.chrome.com/apps/app_identity
  • 使用如上所示发出直接 HTTP 请求。

  • 祝一切顺利!并感谢所有帮助过我的人!

    关于google-chrome-extension - 来自 chrome 扩展的 Google Calendar API HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44768249/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com