我怎样才能使用云端硬盘的推送通知 API https://developers.google.com/drive/web/push与 GAS Published 应用程序结合使用?
我已经设置了以下所有内容,将通过 GET/POST 接收到的任何内容附加到这张表 https://docs.google.com/spreadsheets/d/1RIxhdCQlZ52-GJG43m4fdMiCLSCtXjK62YxY4M2aXkc/edit#gid=1462425657为了进行测试,并且尝试将 WATCH 添加到已发布的 URL 失败,我收到错误“权限不足”。
即使我无法使用中的授权选项,我也可以使用该应用程序吗?文档 https://support.google.com/webmasters/answer/35179?
链接到下面的脚本文件 https://script.google.com/d/1HlDpr9k9IOw2OyeBU_GiBtuRJg01OCam0CabVd9tXNXlnvWYi2extL4M/edit?usp=drive_web
var sslog = SpreadsheetApp.openById('1RIxhdCQlZ52-GJG43m4fdMiCLSCtXjK62YxY4M2aXkc').getSheets()[0];
function doPost(e) {
sslog.appendRow([e]);
return 200;
}
function doGet(e) {
sslog.appendRow([e]);
return 200;
}
function addWatch(){
var PayLoad = {
"id": "4baa4sd80-6ass-1asd4e2-bs5fd-0asd848c9a77", // Your channel ID.
"type": "web_hook",
"address": "https://script.google.com/macros/s/AKfycbwBoiIBIJaAJVWJb5Tboc_Wz0RNDxaD_8raKnnLWO_WllO3Lnfe/exec", // Your receiving URL.
"expiration": ((new Date()).getTime() + 1000*60*5)// (Optional) Your requested channel expiration time.
}
var headers = { 'Authorization': 'Bearer ' + ScriptApp.getOAuthToken(), 'Content-Type': 'application/json' };
var url = 'https://www.googleapis.com/drive/v2/files/15flCrMJ4ItmPZzVzdfmOFuz44iG7xSIqSV066BW7G-Q/watch';
var mod = UrlFetchApp.fetch(url, { headers:headers, payload:JSON.stringify(PayLoad), method:'POST' });
}
我尝试过使用Drive.Changes.watch(resource, optionalArgs)
从这里 https://developers.google.com/drive/v2/reference/changes/watch#examples,但不知道使用什么作为资源/参数。