调用Yammer uploadSmallFile API上传文件403报错及access_token获取方法
Yammer文件上传接口403问题解决方案
权限问题根因
你当前使用的个人手动生成的测试access_token仅开放基础数据读取权限,未开放内容发布、文件写入类权限,无法调用uploadSmallFile这类写操作接口,必须通过企业应用OAuth授权流程获取带对应权限域的token才能正常调用。
具备文件上传权限的token获取路径
所有支持文件上传、发帖操作的access_token,均需要通过租户管理员审核通过的自定义企业应用走标准OAuth2.0授权流程生成。注意:个人在Yammer前端个人设置页生成的测试token永久不开放文件上传权限。
具体操作步骤
- 注册企业应用
使用租户Viva Engage(原Yammer)管理员账号进入管理后台的应用注册板块,新建自定义应用,填写应用名称、用途等基础信息后,在权限配置页勾选3项必要权限:基础用户信息读取、内容发布、文件上传与管理,提交后完成应用审核,获取应用的client_id与client_secret凭证。 - 获取授权码
构造OAuth授权请求,scope参数必须明确包含write、upload_file两个权限域,在浏览器中打开该请求地址,使用需要执行发帖操作的Yammer账号登录并完成授权同意,授权完成后从回调地址的URL参数中拿到临时code授权码。 - 兑换正式access_token
向Yammer token接口发送POST请求,请求体携带client_id、client_secret、grant_type=authorization_code、上一步拿到的code参数,接口返回的响应中access_token字段即为具备文件上传权限的有效凭证。
Postman调试避坑点
- 调用接口时token必须放在请求头中,格式为
Authorization: Bearer <你的access_token>,将token放在query参数或表单参数中传递会直接返回403。 uploadSmallFile接口仅支持5MB以内的图片/文件上传,请求格式必须为multipart/form-data,文件对应的字段名固定为attachment,字段名传错也会触发权限类报错。- 确认请求发送的域名是你所属租户对应的Yammer专属域名,跨租户调用未授权接口同样会返回403。
内容的提问来源于stack exchange,提问作者TristanB12
相关产品推荐
相关产品推荐

