我从谷歌驱动器推送通知API获取空响应帖子。我不确定我是否没有正确查看发布的数据到我的听力应用程序,或者我是否错误地设置了我的频道。
我能够设置通过以下答案验证的频道:
[14-07-26 14:27:19:697 EDT] {
"kind": "api#channel",
"id": "ce976221-7f6c-44bd-82f3-6a7a539fbc18",
"resourceId": "YTWyD_gD_mUUBM8Ttrqc6P6ZCxI",
"resourceUri": "https://www.googleapis.com/drive/v2/files/1T0GX4lBx6yH2DHMAS624qk5bQylZm1kRs_rE8tIHS_c?updateViewedDate=false&alt=json",
"token": "caller=https://script.google.com/a/macros/ccsknights.org/s/AKfycbxc0JwGl-TptxgsHhWPaAZbIgQXRk7fhB282ReOa09f_6HmGPkw/exec",
"expiration": "1406402836000"
}
我的监听应用确实收到通知,因为我弄乱了测试文档。我对所有发布的数据进行了转储,但它显示为:
{queryString = null,parameter = {},contextPath =,parameters = {},contentLength = 0}
我已将其他数据发布到应用中进行测试,并按预期显示:
{queryString = bob / asdasd / asdasdsd / adsad,postData = FileUpload,parameter = {test = yes,test2 = no,bob / asdasd / asdasdsd / adsad =},contextPath =,parameters = {test = [Ljava。 lang.Object; @ 2fc540bd,test2 = [Ljava.lang.Object; @ 3f1d50cb,bob / asdasd / asdasdsd / adsad = [Ljava.lang.Object; @ 1da35fcc},contentLength = 17}
听力应用程序很简单:
var sslog = SpreadsheetApp.openById('1dOic6cWtTuj7lxi-QoRK2hrlXArd2C5ZlqOEmCvJ6R0').getSheets()[0];
function doPost(e) {
sslog.appendRow([e]);
return 200;
//return ContentService.createTextOutput().setContent(JSON.stringify(e)).setMimeType(ContentService.Mi meType.JSON);
}
我是否缺少能够从帖子中提取推送通知数据的内容?
答案 0 :(得分:1)
正确的答案是在postData对象中检索帖子正文。它已添加但未记录。您可以在https://developers.google.com/apps-script/releases/2013
找到有关它的更多信息function doPost(e) {
Logger.log(e.postData.getDataAsString());
}
答案 1 :(得分:0)
如果您正在观看文件资源,则POST正文始终为空。您可以使用的所有信息都包含在“X-Goog- *”标题中。