我正在与Google云端硬盘集成。我按照谷歌推荐的路径放置了这样的登录按钮:
<div class="g-signin2" data-onsuccess="onSuccessFunc" data-theme="dark"></div>
这类g-signin2启用了某些回调,但我无法在任何地方找到文档。搜索是没有意义的,因为有一百万个代码示例使用它。有人可以指出文档吗?
我的问题是我需要启用谷歌硬盘访问权限。这是在gapi.init中完成的,但是这个登录按钮正在执行init本身,如果我尝试这样做,它会抱怨已经调用了init。好的,但我需要指定身份验证范围以包含谷歌驱动器。
当我执行程序时,按下按钮提示允许配置文件访问,但不允许驱动。
后来,我调用了gapi.auth.authorize,它在没有提示用户的情况下失败了。我已经看到了g-signin2类与其他参数属性的其他用法,我怀疑它有一个属性,但是我找不到文档。不幸的是,Google教程没有引用有关字段及其含义的文档。
知道如何告诉登录按钮授权范围呈现给用户吗?
$scope.callAuthAuthorize = function() {
var authparam = {
'client_id': CLIENT_ID,
'scope': 'https://www.googleapis.com/auth/drive',
'immediate': true
};
console.log("Now Requesting: ", authparam);
gapi.auth.authorize(authparam, $scope.handleAuthResult);
}
答案 0 :(得分:0)
尝试使用适用于Google Drive API的JavaScript Quickstart tutorial。 这就是我用来创建从Google云端硬盘读取文件的应用程序。
按照“步骤1:启用云端硬盘API”中的步骤启用Google云端帐户中的凭据。
首先使用authorize
致电immediate: true
,然后在出错时切换到immediate: false
:
gapi.auth.authorize(authparam, (auth_result)=> {
if (auth_result && !auth_result.error)
$scope.handleAuthResult(auth_result)
else {
authparam.immediate = false;
gapi.auth.authorize(authparam, (auth_result)=> {
if (auth_result && !auth_result.error)
$scope.handleAuthResult(auth_result)
else
console.error(auth_result)
})
}
})