Подтвердить что ты не робот

Ошибка: "message": "Login Required" при использовании Youtube Analytics API

Я работаю с youtube api. когда я ударил этот URL " https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=2015-01-01&end-date=2016-01-31&metrics=likes%2Cdislikes&key= {API-ключ}"

он дает 401

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
 }
}

но я нашел в проводнике " https://developers.google.com/apis-explorer/?" он отлично работает.
Как выполнить первый запрос?

4b9b3361

Ответ 1

В вашем запросе вы отправляете ключ = {ваш ключ} для токена доступа, который вы должны отправлять access_token = {ваш токен доступа oauth2}

Примечание. Ключ используется для публичных запросов. токен доступа предназначен для аутентифицированных запросов.

Ответ 2

Если кто-то другой, использующий аутентификацию JWT в Google API, наткнулся на этот вопрос (например, при использовании учетных записей служб), обязательно включите auth: <your jwtClient> в ваш вызов API, например:

Сначала введите токен:

// 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");
  }
});

Затем вызовите API (но не забудьте часть auth:jwtClient)

drive.files.create({
    auth: jwtClient,
    resource: {<fileMetadata>},
    fields: 'id'
  }, function (err, file) {
    if (err) {
      // Handle error
    } else {
      // Success is much harder to handle
    }
});