curl Google Apps脚本Web应用对POST请求的响应行为异常

fcwjkofz  于 2023-03-08  发布在  Go
关注(0)|答案(1)|浏览(136)

我正在做一个小的应用程序脚本,通过POST请求创建一个日历事件。
下面是代码:

function doPost(e) {
    const accessKey = 'l056SH7REYsuli**************************************************DIX0e08XvsBAtzA2eSJg';
    let result;
    let params = JSON.parse(e.postData.contents);
    let event = params.event;
    let calendarId = params.calendarId;
    let token = params.token;
    let method = params.method;
    if(token === accessKey) {
        try {
            eventResult = Calendar.Events.insert(event, calendarId);
            result = { 'Event ID: ' : eventResult.id }
            } catch (err) {
            result = { 
                'Failed with error %s': err.message,
                'Event contents': event
                    }
            }
    } else {
        result = {
            'status': 'Forbidden',
            'statusCode': 403,
            'message': 'You do not have access to this resource.'
        }
    }
    return ContentService.createTextOutput(JSON.stringify(result))
}

它与 Postman 完美配合:enter image description here
但当我卷发时: curl --位置--请求POST 'https://script.google.com/macros/s/AKfycbyh7n3YeE-HiNAIA8wi9HAVsaLBUv5ceJu-k7yxL4D8mSm9EXQ4wQc_ctqipFlAR4SqfA/exec'

  • -header '内容类型:应用程序/json '
  • -原始数据'{"标记":"l056年7月**************************************************************************************************************************************************************************************************************************************************"www.example.com","事件":{"摘要":" Postman 测试","描述":" Abyrvalg ","开始":c_9bae2a34a108dd90**************************************5ee00d@group.calendar.google.com{"日期":" 2022年11月28日"},"颜色ID":9}} 'enter image description here我得到的是HTML而不是JSON。 { "date": "2022-11-28" }, "colorID": 9 } }' enter image description here I get HTML instead of JSON.
    日历事件正在创建不过。但我需要的事件ID作为结果。任何人都可以分享一个想法,请?
    谷歌搜索还没有给我任何结果,但我不会停止。
yrdbyhpb

yrdbyhpb1#

从下面经过测试的curl命令中,

curl --location --request POST 'https://script.google.com/macros/s/AKfycbyh7n3YeE-HiNAIA8wi9HAVsaLBUv5ceJu-k7yxL4D8mSm9EXQ4wQc_ctqipFlAR4SqfA/exec'
--header 'Content-Type: application/json'
--data-raw '{ "token": "l056SH7REYs************3IYXeiECDIX0e08XvsBAtzA2eSJg", "calendarId": "c_9bae2a34a108dd905ee00d@group.calendar.google.com", "event": { "summary":"TEst from postman", "description":"Abyrvalg", "start": { "date": "2022-11-28" }, "end": { "date": "2022-11-28" }, "colorID": 9 } }'

在这种情况下,下面的修改怎么样?

修改的curl命令:

curl --location 'https://script.google.com/macros/s/AKfycbyh7n3YeE-HiNAIA8wi9HAVsaLBUv5ceJu-k7yxL4D8mSm9EXQ4wQc_ctqipFlAR4SqfA/exec' \
--data-raw '{ "token": "l056SH7REYs************3IYXeiECDIX0e08XvsBAtzA2eSJg", "calendarId": "c_9bae2a34a108dd905ee00d@group.calendar.google.com", "event": { "summary":"TEst from postman", "description":"Abyrvalg", "start": { "date": "2022-11-28" }, "end": { "date": "2022-11-28" }, "colorID": 9 } }'

参考:

相关问题