使用谷歌浏览器api搜索和列表
问题描述:
以下链接中给出的代码在线工作。它在线运行时检索文件,但在使用我自己的客户端ID和API密钥时它不起作用。它给出错误的客户端来源错误。使用谷歌浏览器api搜索和列表
var CLIENT_ID = '898331037992.apps.googleusercontent.com';
var API_KEY = 'AIzaSyCGhZLgwJFVlMgp0aPGglKDRHbasrw_eNE';
var SCOPES = 'https://www.googleapis.com/auth/drive';
function handleClientLoad() {
gapi.client.setApiKey(API_KEY);
window.setTimeout(checkAuth,1);
}
function checkAuth() {
var options = {
client_id: CLIENT_ID,
scope: SCOPES,
immediate: true
};
gapi.auth.authorize(options, handleAuthResult);
}
function handleAuthResult(authResult) {
var authorizeButton = document.getElementById('authorize-button');
if (authResult && !authResult.error) {
authorizeButton.style.visibility = 'hidden';
makeApiCall();
} else {
authorizeButton.style.visibility = '';
authorizeButton.onclick = handleAuthClick;
}
}
function handleAuthClick(event) {
var options = {
client_id: CLIENT_ID,
scope: SCOPES,
immediate: false
};
gapi.auth.authorize(options, handleAuthResult);
return false;
}
function makeApiCall() {
gapi.client.load('drive', 'v2', makeRequest);
}
function makeRequest() {
var request = gapi.client.drive.files.list({'maxResults': 5 });
request.execute(function(resp) {
for (i=0; i<resp.items.length; i++) {
var titulo = resp.items[i].title;
var fechaUpd = resp.items[i].modifiedDate;
var userUpd = resp.items[i].lastModifyingUserName;
var userEmbed = resp.items[i].embedLink;
var userAltLink = resp.items[i].alternateLink;
var fileInfo = document.createElement('li');
fileInfo.appendChild(document.createTextNode('TITLE: ' + titulo + ' - LAST MODIF: ' + fechaUpd + ' - BY: ' + userUpd));
document.getElementById('content').appendChild(fileInfo);
}
});
}
$(document).ready(function() {
$('#authorize-button').on('click', handleAuthClick);
$.getScript('//apis.google.com/js/api.js', function() {
gapi.load('auth:client', handleClientLoad);
});
});
答
你必须正确地配置您的项目API控制台中使用自己的证书和产地。检查JavaScript的快速入门的详细信息:https://developers.google.com/drive/quickstart-js
答
可以解决客户来源问题通过以下方式, 你只需访问谷歌开发者控制台 并转到您的凭据,在那里你可以看到你的客户端ID,客户端密钥等 和那么你必须点击Edit Settings按钮,然后在第一个文本框中输入你自己的应用程序url的地址。 ,然后再次运行你的应用程序......
感谢claudio ..我想通了昨天..我没有正确配置javascript的来源.. :) – user2038580 2013-02-13 05:26:53
该代码正常工作的大部分时间,但它怎么会停止响应呢? – user2038580 2013-02-13 09:32:09
当它不起作用时,你得到的错误是什么? – 2013-02-13 17:59:29