我正在使用api
搜索google plus这是回复:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "insufficientPermissions",
"message": "Insufficient Permission"
}
],
"code": 403,
"message": "Insufficient Permission"
}
}
以下是我的API CONSOLE屏幕http://i.stack.imgur.com/jO27J.png
任何人都可以告诉我需要在api控制台中为我的应用设置哪些权限。 ?
答案 0 :(得分:67)
这是您的访问令牌的问题,而不是您的项目配置。
如果在检索访问令牌时未请求所需的范围,则会返回权限不足错误。猜测一下,由于您使用的是Google+ API和YouTube API,因此您可能只是申请了YouTube范围,而不是两者,即:
检查您是否同时要求:
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/plus.login
而不仅仅是第一个。
您可以通过将access_token传递到此端点来检查您请求的范围:
https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ACCESS_TOKEN
我无法检查示例中的令牌,因为它已过期(访问令牌在一小时后过期)。此外,请不要公开发布访问令牌,因为他们允许其他人访问您的数据 - 他们应该保密并小心对待。
顺便提一下,https://www.googleapis.com/plus/v1/activities?query=QUERY是一种未经身份验证的调用,因此您可以传递项目的API密钥而不是访问令牌。如果您使用https://www.googleapis.com/plus/v1/activities?query=QUERY&key=API-KEY拨打电话,则根本不需要请求范围或获取访问令牌。
如果您还没有看过,可以尝试在OAuth 2.0 Playground上进行的API调用:
https://developers.google.com/oauthplayground/
这是一个很好的地方,看看哪些有效,哪些无效。
答案 1 :(得分:1)
根据@Lee的回答,现在Google V3 OAuth AccessToken验证端点是:
https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=<access_token>
您可以参考以下Google文档:(在OAUTH 2.0 ENDPOINTS
标签中)
https://developers.google.com/identity/protocols/OAuth2UserAgent#validate-access-token
答案 2 :(得分:1)
的JavaScript
var OAUTH2_SCOPES = [
'https://www.googleapis.com/auth/youtube',
https://www.googleapis.com/auth/plus.login
];
从YouTube API中检索评论将https://www.googleapis.com/auth/plus.login添加到OAUTH2_SCOPES数组中