我正在开发一个Chrome扩展程序,它是Github.com上的分叉开源程序.该扩展程序需要Google Drive API,后者需要OAuth 2.0客户端ID.但是,在创建客户端ID期间,它需要我提供重定向URI,但我没有任何重定向域.这是否意味着我无法使用Google Drive API或是否有解决方法?
谢谢!
最佳答案
是的,您可以使用Drive API,但您必须使用Google JS客户端,只需提供范围,客户端ID,客户端密码和加载js客户端并进行API调用.但是在JavaScript源码中必须有你的chrome扩展ID(chrome-extension:// abcdefghijklmnopqrstuvwxyx)
以下功能对您来说非常方便
// on client load call this function
var handleClientLoadAuto = function () {
gapi.client.setApiKey(apiKey);
window.setTimeout(checkAuthAuto,1);
}
和
var checkAuthAuto = function () {
gapi.auth.authorize({
client_id: clientId,scope: 'scope here',immediate: true
},handleAuthResultAuto);
}
如果一切正常:
var handleAuthResultAuto = function (authResult) {
if (authResult && !authResult.error) {
//do call to drive api using
gapi.client.load('drive','v2',function () {
var request = gapi.client.drive.files.list(params);
request.execute(function (resp) {
if (resp && resp.error) {
//call to error callback function
//handleError(resp);
} else {
//ok response
}
});
}
} else {}
}
但要使用它,您必须登录,否则它将无法检测授权.