2013-06-07 40 views
22

tôi đang tìm kiếm google plus với apigoogle plus api: "insufficientPermissions" lỗi

Đây là Url của tôi: https://www.googleapis.com/plus/v1/activities?query=internet%20marketing&access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

đây là câu trả lời:

{ 
    "error": { 
    "errors": [ 
     { 
     "domain": "global", 
     "reason": "insufficientPermissions", 
     "message": "Insufficient Permission" 
     } 
    ], 
    "code": 403, 
    "message": "Insufficient Permission" 
    } 
} 

Dưới đây là bảng điều khiển API của tôi màn hình http://i.stack.imgur.com/jO27J.png

Bất kỳ ai cũng có thể cho tôi biết tôi cần thiết lập quyền nào cho ứng dụng của mình trong bảng điều khiển api. ?

Trả lời

58

Đây là sự cố với mã thông báo truy cập của bạn, không phải với cấu hình dự án của bạn.

Lỗi quyền hạn không đủ được trả lại khi bạn không yêu cầu phạm vi bạn cần khi bạn truy xuất mã thông báo truy cập của mình. Tại một đoán, kể từ khi bạn đang sử dụng API Google+ và API YouTube, bạn có thể chỉ có yêu cầu phạm vi YouTube và không được cả hai, ví dụ:

Kiểm tra mà bạn yêu cầu cả hai:

https://www.googleapis.com/auth/youtube 
https://www.googleapis.com/auth/plus.login 

và không chỉ cái đầu tiên.

Bạn có thể kiểm tra phạm vi mà bạn yêu cầu bằng cách đi qua access_token của bạn để thiết bị đầu cuối này:

https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ACCESS_TOKEN

tôi không thể kiểm tra thẻ trong ví dụ của bạn bởi vì nó đã hết hạn (thẻ truy cập hết hạn sau một giờ). Ngoài ra, vui lòng không đăng thẻ truy cập công khai vì chúng cho phép người khác truy cập vào dữ liệu của bạn - chúng phải được giữ bí mật và được xử lý cẩn thận.

Ngẫu nhiên, https://www.googleapis.com/plus/v1/activities?query=QUERY là cuộc gọi chưa được xác thực, vì vậy bạn có thể chuyển khóa API cho dự án của mình thay vì mã thông báo truy cập. Nếu bạn thực hiện cuộc gọi với https://www.googleapis.com/plus/v1/activities?query=QUERY&key=API-KEY, thì bạn sẽ không cần yêu cầu phạm vi hoặc tìm nạp mã thông báo truy cập.

Nếu bạn chưa nhìn thấy nó đã có, bạn có thể thử các API gọi cho bạn muốn thực hiện tại OAuth 2.0 Playground:

https://developers.google.com/oauthplayground/

Đó là một nơi tốt để xem những gì làm việc và những gì không.

+0

@Lee Rất hữu ích và có nhiều thông tin [link] (https://developers.google.com/oauthplayground/). – SIFE

+0

Chúa Giêsu Kitô!Lượng thời gian tôi mất với điều này ... CẢM ƠN BẠN! –

+0

Trong trường hợp của tôi, đã xảy ra sự cố với phạm vi CODE mà tôi đang tìm kiếm. trong trường hợp nhận xét này có thể giúp người khác. –

1

Javascript

var OAUTH2_SCOPES = [ 
    'https://www.googleapis.com/auth/youtube', 
    https://www.googleapis.com/auth/plus.login 
]; 

để truy xuất dấu phẩy nt từ API YouTube thêm https://www.googleapis.com/auth/plus.login vào ô OAUTH2_SCOPES

Các vấn đề liên quan