Oauth 错误:";“讯息”:&引用;“需要登录”;何时使用Youtube分析API

Oauth 错误:";“讯息”:&引用;“需要登录”;何时使用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,

我正在使用youtube api。当我点击这个url“{API Key}”时

它给出了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
    }
});