[英]Bitly API Post request
我正在嘗試使用下面的代碼向 Bitly API 發出請求,但我收到了 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());
}
小錯誤:
HTTP/1.1 422 Unprocessable Entity
當負載/請求內容不是 JSON 字符串時出現。
例如在 PHP 中:
$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);
這里的重要一點是json_encode ,對於大多數其他 API-s 它將是http_build_query
您必須將內容作為 JSON 字符串發送。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.