有没有人有幸在Google Chrome扩展程序和Google App引擎之间获得OAuth,以便能够很好地发挥作用(或其他任何事情?)。我已按照所有步骤操作。我已按照此Google Dev tutorial中的步骤操作,无论在握手过程结束时,我都会被重定向到about:blank
。
我在扩展程序中有这个代码(参见教程中的内容):
var baseurl = 'https://my-app.appspot.com';
var oauth = ChromeExOAuth.initBackgroundPage({
'request_url' : baseUrl + '/_ah/OAuthGetRequestToken',
'authorize_url' : baseUrl + '/_ah/OAuthAuthorizeToken',
'access_url' : baseUrl + '/_ah/OAuthGetAccessToken',
'consumer_key' : 'anonymous',
'consumer_secret' : 'anonymous',
'scope' : baseUrl,
'app_name' : 'MyApp'
});
...但我不认为这是问题,因为我注意到当我使用教程的oAuth参数时出现类似问题 - 我被重定向到一个页面,询问我是否要授予对Google云端硬盘的访问权限以及点击'授予访问权限'我收到了about:blank
,似乎没有OAuth令牌。
任何想法都非常感激。
更新也许我正在回答我自己的问题 - 不确定。
我也在使用ChromeToPhone扩展程序的源代码 - 我的代码基于这个用于OAuth谷歌应用程序引擎方面。我尝试从源代码安装此扩展程序并遇到about:blank
同样的问题。所以我在Extension App Store上进入了这个扩展,同样的事情也发生了。也许我的Chrome(版本31.0.1650.26 beta-m)坏了?这种情况是否会发生在其他人身上?或者我的Chrome安装会以某种方式破坏?
答案 0 :(得分:2)
web_accessible_resources
清单属性here的Chrome扩展程序文档提到:
除非资源列为可通过网络访问,否则将阻止从Web源到扩展资源的导航。
然后降低:
默认情况下会阻止使用
manifest_version
2或更高版本的软件包内的资源,并且必须将其列入白名单才能通过此属性使用。
显然,最后一部分是作为Chrome 31版本的一部分添加的。
解决方案是将扩展程序清单中的web_accessible_resources
设置为包含OAuth握手完成网址的数组,如下所示:
{
"web_accessible_resources": [
"oauth2/oauth2.html"
]
}
https://code.google.com/p/chromium/issues/detail?id=310870#c4
答案 1 :(得分:0)
google dev网站教程的代码似乎适用于chrome v30,但不适用于v31。
如果从WebStore尝试chrometophone应用程序,也会出现类似问题。
只能断定Chrome中的某些内容发生了变化,这意味着教程中提供的oauth js库不再有效 - 引发潜在问题here。走着瞧吧。