在卡中获取令牌以从配置文件中检索用户图像

Posted

技术标签:

【中文标题】在卡中获取令牌以从配置文件中检索用户图像【英文标题】:Getting token in card to retrieve user image from profile 【发布时间】:2021-09-18 05:49:12 【问题描述】:

我正在调整机器人 (Expert Finder),并希望从他们的 SharePoint 个人资料中检索用户照片,以将其作为 base64 字符串发送回客户端。我在 SharePoint 中有图片 URL,但是当我尝试从配置文件 URL 下载图片时,我得到了

“Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler:承载未通过身份验证。失败消息:IDX10501:....”

任何人都可以帮助生成令牌或不记名字符串的代码吗?解决方案中有一个TokenHelper类。

提前致谢, 杰克。

更新:我在这方面取得了一些进展。我能够使用 TokenHelper 类中的 tokenHelper.GetUserTokenAsync 方法并获得不记名令牌。

接下来我将访问以下网址:https://mytenant.sharepoint.com/_layouts/15/userphoto.aspx?size=S&username=john.doe@mytenant.com

当我在浏览器中使用 url 时,它会显示用户图像。但是当我通过机器人代码甚至独立代码运行它时,我只得到一个名为 PersonPlaceholder.96x96x32.png 的剪影。知道为什么我没有取回实际图像吗?

【问题讨论】:

【参考方案1】:

我不知道为什么我会在 sharepoint url 上看到剪影。所以我改用 Graph API 并能够成功取回图像。

https://graph.microsoft.com/v1.0/users('john.doe@test.com')/photos('48x48')/$value

完整参考:https://docs.microsoft.com/en-us/graph/api/profilephoto-get?view=graph-rest-1.0

【讨论】:

以上是关于在卡中获取令牌以从配置文件中检索用户图像的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Alamofire 将用户配置文件图像保存到 MYSQL 数据库,然后在以下屏幕上检索

passport-facebook-token 返回 InternalOAuthError:验证令牌时无法获取用户配置文件

如何配置 apache-vhost.conf 文件以从 Java 获取会话值

如何配置 Appsync 以从 HTTP 端点检索数据以填充列表?

python 有关如何将Flask与requests-oauthlib一起使用以使用OAuth 2令牌获取GitHub用户配置文件的示例。

python 有关如何将Flask与requests-oauthlib一起使用以使用OAuth 2令牌获取GitHub用户配置文件的示例。