6

Tôi đang làm việc với youtube api. khi tôi nhấn url này "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 chính}"Lỗi: "message": "Login Required" khi sử dụng API YouTube Analytics

nó mang lại cho 401

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

nhưng tôi hited trong thám hiểm "https://developers.google.com/apis-explorer/?" hoạt động tốt.
Làm cách nào để yêu cầu đầu tiên hoạt động?

+0

bạn nên khắc phục câu hỏi của mình đây là yêu cầu đối với api phân tích YouTube. Bạn cần phải được xác thực cho yêu cầu đó sử dụng Oauth2. – DaImTo

+0

Tôi đã có mã thông báo truy cập từ Oauth từ một phương tiện khác. Bây giờ làm cách nào để có được dữ liệu này? –

+0

thử 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&access_token={access Mã thông báo từ oauth} – DaImTo

Trả lời

9

Trong yêu cầu của bạn, bạn đang gửi key = {} chìa khóa của bạn cho một access token bạn nên gửi access_token = {bạn OAuth2 access token}

Lưu ý: chính được sử dụng cho các yêu cầu công cộng. mã thông báo truy cập dành cho các yêu cầu được xác thực.

0

Nếu ai đó sử dụng xác thực JWT trên tình cờ API của Google khi câu hỏi này (ví dụ khi sử dụng tài khoản dịch vụ.) Sau đó hãy chắc chắn để bao gồm auth: <your jwtClient> trong cuộc gọi API của bạn, như:

Thứ nhất, có mã thông báo:

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

Sau đó, gọi API (nhưng đừng quên phần 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 
    } 
}); 
Các vấn đề liên quan