Javascript 谷歌驱动器Api v3创建共享文件
我正在使用Node.js google api client在google drive中创建文件,创建文件时一切正常,下面是一个示例: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
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
,并且已经在使用它了,我只想知道这是可能的,但显然不是。