是否可以使用来自 firebase 的访问令牌来授权 YouTube API?
Is it possible to use the access token from firebase to authorize YouTube API?
我正在尝试 post 使用 YouTube API 使用 ReactJS 对 YouTube 视频发表评论。但是我没有使用 gapi
进行 signInWithGoogle,而是使用 firebase 和 firebase 返回的 access_token。
我的代码看起来像这样。
const url = `https://youtube.googleapis.com/youtube/v3/commentThreads?key=${MY_API_KEY}&part=snippet`
const requestOptions = {
method: "POST",
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
'Content-Type': 'application/json',
Accept: 'application/json'
}
body: JSON.stringify({
"snippet": {
"videoId": "[SOME_VIDEO_ID]",
"topLevelComment": {
"snippet": {
"textDisplay": "test",
}
}
}
})
}
fetch(url, requestOptions)
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.log(err))
但是它抛出错误说
{
"error": {
"code": 401,
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"errors": [
{
"message": "Invalid Credentials",
"domain": "global",
"reason": "authError",
"location": "Authorization",
"locationType": "header"
}
],
"status": "UNAUTHENTICATED"
}
}
这里有什么问题?
我没有使用 firebase
,而是使用了一个名为 react-google-login
的 npm
包,它提供了 access_token。我使用该访问令牌授权 YouTube API,效果很好。
我正在尝试 post 使用 YouTube API 使用 ReactJS 对 YouTube 视频发表评论。但是我没有使用 gapi
进行 signInWithGoogle,而是使用 firebase 和 firebase 返回的 access_token。
我的代码看起来像这样。
const url = `https://youtube.googleapis.com/youtube/v3/commentThreads?key=${MY_API_KEY}&part=snippet`
const requestOptions = {
method: "POST",
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
'Content-Type': 'application/json',
Accept: 'application/json'
}
body: JSON.stringify({
"snippet": {
"videoId": "[SOME_VIDEO_ID]",
"topLevelComment": {
"snippet": {
"textDisplay": "test",
}
}
}
})
}
fetch(url, requestOptions)
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.log(err))
但是它抛出错误说
{
"error": {
"code": 401,
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"errors": [
{
"message": "Invalid Credentials",
"domain": "global",
"reason": "authError",
"location": "Authorization",
"locationType": "header"
}
],
"status": "UNAUTHENTICATED"
}
}
这里有什么问题?
我没有使用 firebase
,而是使用了一个名为 react-google-login
的 npm
包,它提供了 access_token。我使用该访问令牌授权 YouTube API,效果很好。