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

如何使用Python调用Azure DevOps API 6.0-preview.1修改项目头像

问题根因
  • 你的核心错误是将读取到的字节列表直接通过str()转为了普通字符串,转换后的内容包含b''前缀、列表括号、转义字符,服务端无法识别为有效图片字节,所以返回默认占位图
  • 官方文档标注的「字符串数组」属于描述误差,该接口实际要求提交的是每个字节对应十进制值组成的整数数组,不需要额外转为字符串格式
  • 6.0-preview.1版本的接口实际成功返回码为204,属于文档标注错误,无需纠结状态码和文档描述不一致的问题
可正常运行的代码
import json
import requests

# 替换为你自己的配置
organization = "你的组织名称"
project_id = "目标项目ID"
project_picture_path = "本地头像图片的完整路径"
# PAT需要具备项目编辑权限
pat = "你的Azure DevOps个人访问令牌"
auth = ('', pat)

url = f'https://dev.azure.com/{organization}/_apis/projects/{project_id}/avatar?api-version=6.0-preview.1'

with open(project_picture_path, "rb") as image:
    # 直接读取全量二进制内容,转为0-255范围的整数数组
    image_array = list(image.read())

payload = json.dumps({"image": image_array})
headers = {'Content-type': 'application/json'}

response = requests.put(url, data=payload, auth=auth, headers=headers)
print(response.status_code)
注意事项
  • 头像图片建议使用正方形,大小不超过1MB,避免服务端压缩变形
  • 个人访问令牌需要勾选「项目和团队」的编辑权限,否则会返回403无权限错误
  • 提交请求后可能存在1-2分钟的缓存延迟,刷新页面后即可看到更新后的头像

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:39:03