1 回答

TA貢獻1780條經驗 獲得超1個贊
當我看到你的腳本時,似乎在上傳文本文件時,權限數據包含在元數據中。不幸的是,這不能使用。我認為這就是您的問題與 相關的原因writable。在這種情況下,文件上傳后,請使用“權限:創建”。當你的腳本被修改時,下面的修改怎么樣?
從:
res, err := srv.Files.Create(
&drive.File{
Parents: []string{"17n-EpJcGg0DmmWqSoJ75iIUdXDP7neoH"},
Name: "banana.txt",
Permissions: []*drive.Permission{
{
Role: "reader",
Type: "anyone",
},
},
},
).Media(file, googleapi.ChunkSize(int(stat.Size()))).Do()
if err != nil {
log.Fatalln(err)
}
fmt.Printf("%s\n", res.Id)
到:
res, err := srv.Files.Create(
&drive.File{
Parents: []string{"17n-EpJcGg0DmmWqSoJ75iIUdXDP7neoH"},
Name: "banana.txt",
},
).Media(file, googleapi.ChunkSize(int(stat.Size()))).Do()
if err != nil {
log.Fatalln(err)
}
fmt.Printf("%s\n", res.Id)
res2, err := srv.Permissions.Create(res.Id, &drive.Permission{
Role: "reader",
Type: "anyone",
}).Do()
通過此修改,上傳的文本文件被公開共享。
筆記:
從您的評論來看I already share my parent_id folder (the folder I want to upload files and share with anyone) with the service_account email as editor permission.,如果您想將文本文件上傳到公共共享文件夾"17n-EpJcGg0DmmWqSoJ75iIUdXDP7neoH",我認為也可以使用以下修改后的腳本。因為,在這種情況下,當一個文本文件上傳到公共共享文件夾時,上傳的文本文件與該文件夾具有相同的權限。
res, err := srv.Files.Create(
&drive.File{
Parents: []string{"17n-EpJcGg0DmmWqSoJ75iIUdXDP7neoH"},
Name: "banana.txt",
},
).Media(file, googleapi.ChunkSize(int(stat.Size()))).Do()
if err != nil {
log.Fatalln(err)
}
fmt.Printf("%s\n", res.Id)
- 1 回答
- 0 關注
- 138 瀏覽
添加回答
舉報