Nodejs Google Drive API可共享链接

问题描述 投票:0回答:1

对于我的Nodejs项目,我使用Google Drive API进行文件共享。但问题是,我从API获得的URL不是可共享的链接。所以我必须去驱动器并打开共享。有没有办法获得可共享链接或使用java脚本代码切换共享?请给我一个解决方案。

javascript node.js google-drive-sdk google-apis-explorer
1个回答
0
投票

这些评论非常有用,此解决方案适用于Google云端硬盘和Google Doc v1的v3。我使用jwt auth作为服务帐户,使用Drive v2的alternativeLink不可共享。

我假设auth过程已知且完整。我正在用块编写代码,所以使用await,promises或callbacks是读者的选择

首先,您需要创建一个文档:

google.docs({version: 'v1', auth});
docs.documents.create({title: "Your Title"}, (error, response) => {
    if (error) return;
    //So now you have the documentId
    const {data: {documentId}} = response;
});

现在使用documentId我们需要向doc添加权限。关键是向任何人授予许可。该文档解释anyone不需要电子邮件或用户。

const resource = {"role": "reader", "type": "anyone"};
drive.permissions.create({fileId:documentId, resource: resource}, (error, result)=>{
    if (error) return;
    //If this work then we know the permission for public share has been created 
});

现在我们几乎准备好了,我们只需要URL。很高兴可共享的URL具有稳定的格式,因此我们可以自己编写它而无需额外的请求:

https://docs.google.com/document/d/${documentId}}/view

Node.js谷歌Api快速变化,如果有任何混淆,我正在使用"googleapis": "^38.0.0",

© www.soinside.com 2019 - 2024. All rights reserved.