我正在尝试在cordova应用程序中访问Google驱动器。为了进行身份验证,我使用的是cordova-plugin-googleplus,它为我提供了auth令牌和gapi对象的初始化。
我尝试了以下步骤:
Load Client库gapi.load('client'callback)
;
此初始化驱动器API gapi.client.init(args)
;
window.plugins.googleplus.login({
'scopes': 'https://www.googleapis.com/auth/drive',
'offline': true},
function (msg) {
if(msg.accessToken) {
console.log("Logged In successfully" + JSON.stringify(msg));
var gapi = window.gapi;
gapi.load('client', {
callback: function() {
console.log("gapi.client2 " + inspect(gapi.client));
// Handle gapi.client initialization.
gapi.client.init({
apiKey : "<client secret>",
discoveryDocs:["https://www.googleapis.com/discovery/v1/apis/drive/v2/rest"],
clientId:"<client id>",
scope: "https://www.googleapis.com/auth/drive"
})
.then(function(response) {
console.log("Drive API Response SUCCESS : " + inspect(response));
});
}
});
self.setState({ isAuthorized: true, redirectURL: successRedirectURL });
} else {
console.log("************ " + JSON.stringify(msg)); // do something useful instead of alerting
self.setState({ isAuthorized: false, redirectURL: errorRedirectURL });
}
},
function (error) {
console.log('error: ' + JSON.stringify(error));
}
);
在上面的代码中,我得到了无效的密钥。看来API密钥是错误的。
问题1:从哪里可以获取有效的API密钥?我是从Google控制台获得的。
如果我在上面的代码中删除了API密钥属性,则永远不会得到任何响应。
问题2:为什么?它应该至少返回一些错误。无论如何,有没有调试这种情况。
Question3:因为,我想在cordova应用程序中做到这一点,所以我不想使用API密钥。有没有更好的方法或插件来做到这一点。这样,它将可以在android和Web应用程序中工作。