我试图使用下面的代码向Bitly发出请求,但我收到了422条错误消息。我不使用OAuth,因为这似乎不是像我这样的单帐户用户所必需的。
关于如何在此场景中提出请求,文档并不太清楚。
function bitly() {
var long_url = "https://stackoverflow.com/questions/ask";
var apiv4 = 'https://api-ssl.bitly.com/v4/shorten';
var genericAccessToken = "xxxxx";
var params = {
method: "post",
headers: {"Authorization" : "Bearer " + genericAccessToken,
"Content-Type": "application/json"},
payload: {"group_guid": "string",
"domain": "bit.ly",
"long_url": long_url},
};
var res = UrlFetchApp.fetch(apiv4, params);
var obj = JSON.parse(res.getContentText());
}发布于 2022-01-14 07:24:14
位错误:
HTTP/1.1 422 Unprocessable Entity当负载/请求内容不是JSON字符串时出现。
例如,在PHP中,do:
$headers = [
'Authorization: Bearer '.$param_bitly_token,
'Content-Type: application/json',
];
$context = stream_context_create([
'http' => [
'header' => $headers,
'method' => 'POST',
'content'=> json_encode([
'long_url' => $param_long_url,
'title' => $param_title,
]),
],
]);
$response = file_get_contents('https://api-ssl.bitly.com/v4/bitlinks', 0, $context);这里的重要部分是http_build_query json_encode,对于大多数其他API-来说,它将是-。
您必须以JSON字符串的形式发送内容。
https://stackoverflow.com/questions/60535428
复制相似问题