You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeError:无法拼接str与dict对象(Bit.ly_API相关)求助

TypeError: cannot concatenate 'str' and 'dict' objects (Bit.ly API 问题解决方案)

嘿,作为Python新手碰到这个问题太正常了——我刚接触字典和第三方API的时候也踩过一模一样的坑!咱们来把这个问题掰碎了说:

错误根源

你误以为b.shorten(storeURL)会直接返回一个可以拿来拼接的URL字符串,但实际上Bit.ly的缩短链接API返回的是一个字典(dict),里面不光有短链接,还包含了长链接、状态码这类额外信息。举个例子,b.shorten()的返回结果大概是这个样子:

{
    "url": "https://bit.ly/3XYZabc",
    "long_url": "你输入的原始 raffle 链接",
    "status_code": 200
}

当你尝试把这个字典和其他字符串用+拼接时,Python就会抛出TypeError——因为字符串和字典是完全不同的类型,没办法直接相加。

快速解决方法

你只需要从返回的字典里提取出实际的短链接字符串就行,也就是字典里'url'键对应的值。修改代码里的这部分就行:

修改后的关键代码

# 调用Bit.ly API获取结果(字典类型)
shortURL = b.shorten(storeURL)
# 从字典中提取短链接字符串,替换原来的直接使用shortURL
text = ('Woof! ' + store1 + ' raffle is now live for the Off-White x Converse Chuck Taylor!' + '\n\n' + shortURL['url'] + '\n\n' + 'For raffle details and where to enter check and filter by "live" -\n\nhttps://www.soleretriever.com/off-white-x-converse-chuck-taylor/\n\n#soleretriever #offwhite #converse #sneakers')

额外的新手友好建议

  • 如果你不确定API返回的字典里有哪些键,可以先打印出来看看:print(shortURL),这样就能直观看到所有键值对,避免猜错键名。
  • 为了让代码更健壮,还可以用get()方法提取值:shortURL.get('url', '链接获取失败')——这样如果API返回的字典里没有'url'键,程序不会直接崩溃,而是用你指定的默认值代替。

内容的提问来源于stack exchange,提问作者Jonathan Petts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:04:06