Javascript Nodejs谷歌驱动API共享链接

Javascript Nodejs谷歌驱动API共享链接,javascript,node.js,google-drive-api,google-apis-explorer,Javascript,Node.js,Google Drive Api,Google Apis Explorer,对于我的Nodejs项目,我使用googledriveapi进行文件共享。但问题是,我从API获得的URL不是一个可共享的链接。所以我必须去驱动器打开共享。有没有一种方法可以获取可共享的链接,或者使用java脚本代码打开共享?请给我一个解决办法 这些评论确实非常有用,这个解决方案适用于Google Drive的v3和Google Doc v1。我对服务帐户使用了jwtauth,使用驱动器v2的alternativeLink不可共享 我假设身份验证过程是已知且完整的。我以块的形式编写代码,因此使用

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

这些评论确实非常有用,这个解决方案适用于Google Drive的v3和Google Doc v1。我对服务帐户使用了
jwt
auth,使用驱动器v2的
alternativeLink
不可共享

我假设身份验证过程是已知且完整的。我以块的形式编写代码,因此使用
等待
、承诺或回调是读者的选择

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

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
我们需要向文档添加权限。键是向任何人授予权限。文档解释说,任何人都不需要电子邮件或用户

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 Google Api变化很快,如果出现任何混乱,我使用的是
“googleapis”:“^38.0.0”,

评论确实非常有用,此解决方案适用于Google Drive的v3和Google Doc v1。我对服务帐户使用了
jwt
auth,使用驱动器v2的
alternativeLink
不可共享

我假设身份验证过程是已知且完整的。我以块的形式编写代码,因此使用
等待
、承诺或回调是读者的选择

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

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
我们需要向文档添加权限。键是向任何人授予权限。文档解释说,任何人都不需要电子邮件或用户

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 Google Api变化很快,如果出现任何混乱,我将使用
“googleapis”:“^38.0.0”,

您尝试过吗?添加角色:reader,键入:anywhere,withLink:true权限应使其通过URL共享。我使用的是OAuth 2.0用户登录。用户访问他们的G驱动器。需要通过API设置权限。请尝试使用v2版的链接或v3版的
webViewLink
,这是一个您可以使用并共享给其他人以访问您的文件的链接。谢谢大家的评论。您尝试过吗?添加角色:reader,键入:anywhere,withLink:true权限应使其通过URL共享。我使用的是OAuth 2.0用户登录。用户访问他们的G驱动器。需要通过API设置权限。请尝试使用v2或v3的
webViewLink