Google脚本发布JSON仅发送null

Google Script Posting JSON Only Sends null

本文关键字:null 脚本 Google JSON      更新时间:2023-09-26

我有一个正在测试的小脚本。它所需要做的就是向我编写的服务发布一些JSON。我的服务有一个测试页面,它与测试页面配合使用。我用c#编写了该服务,并获得了一个示例JSON消息,我在下面的代码中对其进行了硬编码。当我通过谷歌脚本发送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

好吧,我终于解决了这个问题。问题不在于GoogleScript,而在于我在c#中的MVC代码。我从一个普通的MVC控制器动作切换到一个Web API控制器。我必须更改JSON数据,所以我发布了Web API调用的更正代码。希望这能帮助其他有问题的人。请注意,我从JSON字符串中删除了"message"。

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);