【发布时间】:2018-07-24 10:58:02
【问题描述】:
我创建了一个服务帐户来访问域用户在谷歌驱动器中的文件以更改共享设置。
这是应用脚本代码:
` if(service.hasAccess){
var fileId = activity.events[0].parameters[6].value;
var url = 'https://www.googleapis.com/drive/v2/files/'+fileId+'/permissions'
var body = {
'value': 'domain.com',
'type': 'domain.com',
'role': 'writer'
};
Logger.log("done");
var response = UrlFetchApp.fetch(url, {
method: 'POST',
resource: body,
headers: {
Authorization: 'Bearer ' + service.getAccessToken()
}
});`
我可以在日志对话框中看到“完成”文本。所以我认为该服务可以访问用户驱动器。但仍然引发同样的错误。我在这里错过了什么吗?任何帮助将不胜感激,谢谢。
【问题讨论】:
-
您的
Logger.log("done")语句是BEFORE URL Fetch,所以无论如何它都会记录下来。 -
您可以通过内置的Drive Service 执行大多数云端硬盘文件共享操作,而无需使用 Google Drive API。
-
@Diego 但我正在访问其他用户的谷歌驱动器文件。所以我想我应该使用服务帐户。
标签: javascript google-apps-script google-drive-api google-app-maker