Bitly API v4 和 Python (2.7) 请求模块的问题,我不断收到响应代码 422:UNPROCESSABLE_ENTITY

Problems with the Bitly API v4 and the Python (2.7) request module, i keep getting response code 422: UNPROCESSABLE_ENTITY

在过去的 4 个小时里,我一直在努力让它工作,但没有成功,所以这就是问题所在:

我有这个class:

class Bitly:

  def __init__(self, api_token):
    self.apiToken = api_token
    self.header = {'Content-Type':'application/json',
                   'Authorization' : 'Bearer {}'.format(self.apiToken)
                  }

  def shorten(self, longURL):
    payload = {"long_url": longURL}
    url = "https://api-ssl.bitly.com/v4/shorten"
    return requests.post(url, headers=self.header, data=payload)

在使用有效令牌初始化后,在调用 shorten 方法时,应该 return 响应 JSON 内部包含缩短的 link。 相反,我不断收到这样的回复:

{"message":"UNPROCESSABLE_ENTITY","resource":"bitlinks","description":"The JSON value provided is invalid."}

而且我无法弄清楚我在处理有效载荷方面做错了什么,才给我这条消息。 我确定这是一个愚蠢的错误,但我对此很陌生,所以请怜悯。

没关系,我解决了,这里提供解决方案供以后参考: 而不是使用

data=payload

使用

json=payload

是的,就是这么简单。