Google Script Posting JSON Only Sends null

时间:2013-08-17 05:08:41

标签: javascript json google-apps-script

我正在测试一个小脚本。它需要做的就是将一些JSON发布到我写的服务中。我有一个测试页面用于我的服务,它适用于测试页面。我在c#中编写了这个服务,然后我抓住了一个示例JSON消息,我在下面的代码中对其进行了硬编码。当我通过Google Script发送JSON时,我没有运气。有没有人在这看到这个问题?这是我正在尝试的:

function SendToRouter(message){

var data = {"message": {"Id":"22941f91-1b22-463c-a6bd-95245f8f8fe4","Sender":"lms@company.com","Recipient":"me@gmail.com","Subject":"Internet","Body":"payload here","ReceiveDate":"8/5/2013"}};  
var payload = JSON.stringify(data);


var headers = { "Accept":"application/json", 
                "Content-Type":"application/json"             
              };

var opt = {
            "contentType" : 'application/json',
            "method" : 'post',
            "headers":headers,
            "payload" :payload 
          };

var url = "http://www.site.com/Process/RouteLead";
var response = UrlFetchApp.fetch(url, opt);

感谢您对此提供任何帮助! -Jeff

1 个答案:

答案 0 :(得分:1)

好的,我终于弄明白了这个问题。问题不在于Google Script,问题在于我在c#中的MVC代码。我从普通的MVC控制器操作切换到Web API控制器。我必须更改我的JSON数据,所以我发布了我的Web API调用的更正代码。希望这可以帮助其他有问题的人。请注意,我从JSON字符串中删除了“消息”。

var data =  {"Id":"22941f91-1b22-463c-a6bd-95245f8f8fe4","Sender":"lms@company.com","Recipient":"myemail@gmail.com","Subject":"Internet","Body":"payload here","ReceiveDate":"8/5/2013"};

var opt = {
contentType: "application/json",
method : "post",
payload : JSON.stringify(data)
};
var url = "http://mysite.com/api/Lead";
var response = UrlFetchApp.fetch(url, opt);