如何通过Python调用Imgur API为上传的图片添加标签?
解决Imgur上传图片时添加标签的问题
问题原因
- 你使用的
add_tags并非Imgur API的合法参数,正确的标签参数名为tags。 base64.b64encode()返回的是字节对象,直接传入data参数会导致请求格式异常,需要转换为UTF-8编码的字符串。
修改后的代码
import requests import base64 headers = {'Authorization': 'Bearer Xxxx',} # 读取图片并转成base64字符串 with open('cosmetico.png', 'rb') as img_file: img_base64 = base64.b64encode(img_file.read()).decode('utf-8') params = { 'title': 'uwu', 'description': 'hello', 'name': 'Hey', 'tags': 'Fortnite', # 正确的标签参数 'image': img_base64 } r = requests.post('https://api.imgur.com/3/image', headers=headers, data=params) # 增加请求状态检查,方便排查问题 if r.status_code == 200: img_link = r.json()["data"]["link"] img_id = r.json()["data"]["id"] print(f"上传成功:链接={img_link},ID={img_id}") else: print(f"上传失败:{r.json()}")
额外说明
- 若需添加多个标签,直接用逗号分隔标签即可,例如:
'tags': 'Fortnite,Game,Screenshot' - 建议保留请求状态码检查,便于快速定位上传失败的原因(比如token过期、图片格式不支持等)
内容的提问来源于stack exchange,提问作者gyan5487
相关产品推荐
相关产品推荐

