簡體   English   中英

Bitly API 發布請求

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM