Oauth 错误:";“讯息”:&引用;“需要登录”;何时使用Youtube分析API
我正在使用youtube api。当我点击这个url“{API Key}”时 它给出了401Oauth 错误:";“讯息”:&引用;“需要登录”;何时使用Youtube分析API,oauth,google-api,google-oauth,youtube-data-api,youtube-analytics-api,Oauth,Google Api,Google Oauth,Youtube Data Api,Youtube Analytics Api,我正在使用youtube api。当我点击这个url“{API Key}”时 它给出了401 { "error": { "errors": [ { "domain": "global", "reason": "required", "message": "Login Required", "locationType": "header", "location": "Authorization" } ], "code": 401,
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
但我在探险家里搭讪了“?”
它工作正常。如何使第一个请求工作?在您的请求中,您正在发送key={your key}作为访问令牌,您应该发送access\u token={your oauth2 access token}
注意:密钥用于公共请求。访问令牌用于经过身份验证的请求。如果其他人在Google API上使用JWT身份验证时遇到此问题(例如,在使用服务帐户时),请确保在API调用中包含
auth:
,如:
首先,获取令牌:
// Configure JWT auth client
var privatekey = require("./<secret>.json")
var jwtClient = new google.auth.JWT(
privatekey.client_email,
null,
privatekey.private_key,
['https://www.googleapis.com/auth/drive']
);
// Authenticate request
jwtClient.authorize(function (err, tokens) {
if (err) {
return;
} else {
console.log("Google autorization complete");
}
});
您应该解决您的问题这是对YouTube analytics api的请求。您需要使用Oauth2对该请求进行身份验证。我已经从Oauth获得了另一个访问令牌。现在我如何获取这些数据呢?请尝试使用{access token from oauth}key=is作为公共api密钥。Access_token=当您拥有oauth2访问令牌时。谢谢@Dalm。有没有办法不用Oauth令牌就直接使用我的密钥?我知道这不安全,但这只是一个概念的证明,我正试图尽快起草。稍后可能会替换为Oauth
drive.files.create({
auth: jwtClient,
resource: {<fileMetadata>},
fields: 'id'
}, function (err, file) {
if (err) {
// Handle error
} else {
// Success is much harder to handle
}
});