我正在构建一个团队应用程序,该应用程序使用基于非 AAD 的服务进行身份验证。我想在我的可配置选项卡中获取团队图标。我有什么选择?我无法注册应用程序,因为 Teams 应用程序将部署在不同的租户上。我可以在/teams/${teamsid}/photo/$value
不注册应用程序但代表用户的情况下将 microsoftTeams.authentication.getAuthToken 用于图形 api() 吗?或者有没有更简单的方法来获取团队图标。
const authTokenRequest: microsoftTeams.authentication.AuthTokenRequest = {
successCallback: function (token: string) {
//const decoded: { [key: string]: any; } = jwt.decode(token);
//localStorage.setItem("name", decoded.name);
localStorage.setItem("token", token);
const response = await axios.get(apiConfig.endpoint + "/api/" + functionName, {
headers: {
authorization: "Bearer " + accessToken?.token || "",
},
});
return response.data;
},
failureCallback: function (error: any) {
console.log("Failure on getAuthToken: " + error);
}
};
microsoftTeams.initialize(() => {
microsoftTeams.getContext((r) => {
microsoftTeams.authentication.getAuthToken(authTokenRequest);
});
});
通过这个我得到以下错误:尝试处理身份验证响应:错误:invalid_resource|AADSTS500011:在名为 xxxx 的租户中找不到名为 api://xxxxx/botid-xxxx 的资源主体。如果租户管理员未安装应用程序或租户中的任何用户未同意此应用程序,则可能会发生这种情况。您可能将身份验证请求发送给了错误的租户。资源:api://xxxxx/botid-xxxx,错误映射到操作:resourceDisabled