我正在尝试为朋友制作Google Drive Hierarchy Crawler,以便他们可以访问我的网站并查看文件(而不是在我的服务器上托管它们)。
我认为这可能是一种有趣的方法,可以通过将服务器外包到预先存在的系统来减少来自我服务器的文件传输。
我有一个folder_id,我将传递到gapi.client.drive.children.list
,它将读出我的文件/文件夹。
问题在于,由于这与我的文件完全相关(如果他们有链接我已将其设置为公开),为什么我需要让他们授权并同意他们自己的驱动器?
我不希望我的伙伴们认为我正在接触他们的东西。
一些代码:
var CLIENT_ID= "-my-google-rest-api-key";
var ROOT_FOLDER = "folder-id";
gapi.auth.authorize(
{
'client_id': CLIENT_ID,
'scope': SCOPES.join(' '),
'immediate': true
}, handleAuthResult);
function handleAuthResult(authResult) {
var authorizeDiv = document.getElementById('authorize-div');
if (authResult && !authResult.error) {
// Hide auth UI, then load client library.
authorizeDiv.style.display = 'none';
loadDriveApi();
} else {
// Show auth UI, allowing the user to initiate authorization by
// clicking authorize button.
authorizeDiv.style.display = 'inline';
}
}
function loadDriveApi (){
gapi.client.load('drive', 'v2', listFiles);
}
function listFiles (){
var request = gapi.client.drive.children.list({folderId:ROOT_FOLDER});
}
由于RootFolder是预定义的,我可以解决所有问题并执行以下操作:
gapi.client.load('drive', 'v2', listFiles);
loadDriveApi();
我不知道饼干持续多久。似乎一旦我授权,我还没有让它让我再次授权。
供参考:
https://developers.google.com/drive/v2/reference/files https://developers.google.com/drive/v2/reference/children