Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌驱动器Api v3创建共享文件_Javascript_Google Drive Api_Google Oauth - Fatal编程技术网

Javascript 谷歌驱动器Api v3创建共享文件

Javascript 谷歌驱动器Api v3创建共享文件,javascript,google-drive-api,google-oauth,Javascript,Google Drive Api,Google Oauth,我正在使用Node.js google api client在google drive中创建文件,创建文件时一切正常,下面是一个示例: drive.files.create({ resource: { name: 'Another File 5', mimeType: 'text/plain', }, media: { mimeType: 'text/plain', body: 'It\'s An

我正在使用Node.js google api client在google drive中创建文件,创建文件时一切正常,下面是一个示例:

drive.files.create({
      resource: {
        name: 'Another File 5',
        mimeType: 'text/plain',
      },
      media: {
        mimeType: 'text/plain',
        body: 'It\'s Another Fucking File',
      }

    }, function(err,result){
        if(err) console.log(err) 
        else console.log(result)
    });
现在我想创建一个共享的
“shared”:true
它给我这个错误:

drive.files.create({
  resource: {
    name: 'Another File 5',
    mimeType: 'text/plain',
    "shared": true
  },
  media: {
    mimeType: 'text/plain',
    body: 'It\'s Another Fucking File',
  }

}, function(err,result){
    if(err) console.log(err) 
    else console.log(result)
});
错误:

{ [Error: The resource body includes fields which are not directly writable.]
  code: 403,
  errors: 
   [ { domain: 'global',
       reason: 'fieldNotWritable',
       message: 'The resource body includes fields which are not directly writable.' } ] }
我在GoogleAPIsExplorer中尝试了这个,并给出了相同的错误


我是谷歌Api新手,非常感谢您的帮助。

create
的请求正文中没有
共享的
属性。这一点已经讨论过了

在驱动器API文档的一节中讨论了这一点,您需要调用并设置与之共享的帐户的相应权限

我在API资源管理器上也测试了这一点,它可以正常工作

var fileId = '1sTWaJ_j7PkjzaBWtNc3IzovK5hQf21FbOw9yLeeLPNQ';
drive.permissions.create({
    resource: {
        'type': 'user',
        'role': 'writer',
        'emailAddress': 'example@appsrocks.com'
    }, 
        fileId: fileId,
        fields: 'id',
    }, function(err, res) {
    if (err) {
        // Handle error
        console.log(err);
    } else {
        console.log('Permission ID: ', res.id)
        drive.permissions.create({
            resource: {
                'type': 'domain',
                'role': 'reader',
                'domain': 'appsrocks.com'
            },
            fileId: fileId,
            fields: 'id',
            }, function(err, res) {
                if (err) {
                // Handle error
                console.log(err);
            } else {
                console.log('Permission ID: ', res.id)
            }
        });
    }
});

我知道关于
drive.permissions.create
,并且已经在使用它了,我只想知道这是可能的,但显然不是。