Google Drive Api v3创建共享文件 [英] Google Drive Api v3 Create Shared File
问题描述
$ b $
drive.files.create({
resource:{
name:'Another File 5',
mimeType:'text / plain',
} ,
媒体:{
mimeType:'text / plain',
body:'它是另一个他妈的文件',
}
(err)console.log(err)
else console.log(result)
});函数(err,result){
if
现在我要创建一个共享shared:true
它给我这个错误:
drive.files.create({
resource:{
name:'Another File 5',
mimeType:'text / plain',
shared:true
},
media:{
mimeType:' text / plain',
body:'It'\\'s Fuking File',
}
},function(err,result){
if( err)console.log(err)
else console.log(result)
});
错误:
<
错误:
[{domain:'global',
原因:'fieldNotWritable',
message:'资源体包含不能直接写入的字段。'}}}
我在Google API资源管理器中尝试了这一点,并给出了相同的错误。
我对Google Api很陌生,非常感谢任何帮助。
在 create的请求主体上没有
。这已经被讨论共享
属性
其讨论的内容共享文件部分,您需要致电 drive.permissions.create
并设置您将与之共享的帐户的相应权限。
我也在API Explorer上测试了它,并且它可以工作。
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){
//处理错误
console.log(err);
} else {
console.log('Permission ID:',res.id)
drive.permissions.create({
resource:{
'type':'domain',
'role':'reader',$ b $'domain':'appsrocks。 com'
},
fileId:fileId,
字段:'id',
},函数(err,res){
if(err){
//处理错误
console.log(err);
} else {
console.log('Permission ID:',res.id)
}
});
}
});
I am using Node.js google-api client for creating file in google drive normally when i create file everything work fine , here is an example :
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)
});
Now i want create a shared "shared": true
its give me this error :
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 :
{ [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.' } ] }
I tried this in Google APIs Explorer and gave same error.
I am new to google Api and appreciate any help.
There's no shared
attribute on the request body of create
. This has been discussed
Its discussed int he Share Files section of the Drive API documentation, you'll need to call drive.permissions.create
and set the appropriate permission of the account you'll share with.
I tested this on the API Explorer as well, and it works.
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)
}
});
}
});
这篇关于Google Drive Api v3创建共享文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!