在google应用程序脚本中连接到外部API时'坏值'



尝试从ConvertAPI的web获取数据为jpg,但程序抛出Bad Value的错误。下面是我的代码:

const url = 'https://v2.convertapi.com/convert/web/to/png?Secret=...'
const prams = [
{
"Name": "Url",
"Value": "..."
}
];
Logger.log(UrlFetchApp.getRequest(url, prams));

我相信你的目标是这样的。

  • 从您提供的文档中,您想要将以下HTTP请求转换为Google Apps Script。

    POST https://v2.convertapi.com/convert/web/to/jpg?Secret=<YOUR SECRET HERE>
    Content-Type: application/json
    {
    "Parameters": [
    {
    "Name": "Url",
    "Value": ""
    },
    {
    "Name": "StoreFile",
    "Value": true
    }
    ]
    }
    

不幸的是,您的prams不能直接用于UrlFetchApp。并且,UrlFetchApp.getRequest不要求。而且,您的prams与您提供的文件中的样品不同。

当这些要点在Google Apps Script中体现出来时,下面的修改如何?

修改脚本:

function myFunction() {
const url = 'https://v2.convertapi.com/convert/web/to/jpg?Secret=<YOUR SECRET HERE>';
const prams = {
"Parameters": [
{
"Name": "Url",
"Value": ""
},
{
"Name": "StoreFile",
"Value": true
}
]
};
const options = {
contentType: "application/json",
payload: JSON.stringify(prams),
};
const res = UrlFetchApp.fetch(url, options);
console.log(res.getContentText());
}
  • 如果出现错误,请再次确认您的Secretprams的值。

注意:

  • 文档中有curl -F "Url=" -F "StoreFile=true" https://v2.convertapi.com/convert/web/to/jpg?Secret=<YOUR SECRET HERE>的curl命令示例。当它被转换为Google Apps Script时,它变成如下所示:

    const url = "https://v2.convertapi.com/convert/web/to/jpg?Secret=<YOUR SECRET HERE>";
    const options = { payload: { "StoreFile": "true", "Url": "" } };
    const res = UrlFetchApp.fetch(url, options);
    console.log(res.getContentText());
    
  • 请测试以上2种模式

引用:

  • WEB到JPG API
  • 参数
  • 获取(url)

相关内容

  • 没有找到相关文章

最新更新