【问题标题】:Empty response from push notification推送通知的空响应
【发布时间】:2014-09-07 10:28:09
【问题描述】:

我从 google drive push notification 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);
}

我是否缺少能够从帖子中提取推送通知数据的东西?

【问题讨论】:

    标签: google-drive-api


    【解决方案1】:

    正确答案是在 postData 对象中检索帖子正文。它已添加但未记录在案。您可以在以下位置找到更多信息:https://developers.google.com/apps-script/releases/2013

    function doPost(e) {
    Logger.log(e.postData.getDataAsString());
    }
    

    【讨论】:

      【解决方案2】:

      如果您正在查看文件资源,则 POST 正文始终为空。您可以使用的所有信息都包含在“X-Goog-*”标题中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多