【发布时间】:2014-01-10 19:18:05
【问题描述】:
我正在尝试使用 Apps 脚本中的 Contentservice 和 doPost(e) 函数创建一个网络服务,以与 Google Apps AdminDirectory 服务进行交互
这是我的代码的概述。我将其保存为我的服务器并将其发布为 websapp
function doPost(e) {
var data = e.parameter;
var resourceType = data.resourceType;
var method = data.method;
var resource = data.resource;
var resourceParams = resource.parameters;
//other code to work with AdminDIrectory
// return ContentService.createTextOutput(myoutputdata).setMimeType(ContentService.MimeType.JSON);
}
在我使用 Apps 脚本编写的用于测试网络服务的客户端代码中
function test() {
var jsonData = {
authKey : 'HwZMVe3ZCGuPOhTSmdcfOqsl12345678',
resourceType : 'user',
method : 'get',
resource : {
parameters : {
userKey : 'waqar.ahmad@mydomain.com'
}
}
}
var url = 'https://script.google.com/macros/s/xyzabc12345678_wE3CQV06APje6497dyI7Hh-mQMUFM0pYDrk/exec';
var params = {
method : 'POST',
payload : jsonData
}
var resp = UrlFetchApp.fetch(url, params).getContentText();
Logger.log(resp);
}
现在,当我尝试在服务器端读取 e.parameter.resource.parameters 时,它会给出错误并显示 e.parameter.resource 是字符串类型。
如何在服务器端读取嵌套对象?看来,它只识别一级参数。
【问题讨论】: