首页
学习
活动
专区
圈层
工具
发布

Bitly请求
EN

Stack Overflow用户
提问于 2020-03-04 22:08:16
回答 1查看 337关注 0票数 2

我试图使用下面的代码向Bitly发出请求,但我收到了422条错误消息。我不使用OAuth,因为这似乎不是像我这样的单帐户用户所必需的。

关于如何在此场景中提出请求,文档并不太清楚。

代码语言:javascript
复制
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());

}
EN

回答 1

Stack Overflow用户

发布于 2022-01-14 07:24:14

位错误:

代码语言:javascript
复制
HTTP/1.1 422 Unprocessable Entity

当负载/请求内容不是JSON字符串时出现。

例如,在PHP中,do:

代码语言:javascript
复制
$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字符串的形式发送内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60535428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档