Off*_*'er 3 facebook facebook-graph-api .net-core asp.net-core
所以 facebook 改变了网站获取用户个人资料图片的方式,所有详细信息都在这里:https :
//developers.facebook.com/docs/graph-api/reference/user/picture/
所以我和SOF 都获得了来自 facebook 的用户是这样的:https :
//graph.facebook.com/1108834579148558/picture?type=large
现在我们得到了 facebook 提供的默认图片。
在他们编写的 facebook 文档中,我们需要附加访问令牌才能从现在开始获取用户个人资料图片,它是如何工作的?
我能想到的唯一一件事是在用户登录时 facebook 可以检索用户个人资料图片,有没有人可以帮助解决这个问题,我正在使用 .Net 核心。
Facebook 在此处的新文档中解释了 2020 年 10 月之后获取用户图像的新方法,并说明了所需的更改如下:
此端点支持应用范围用户 ID (ASID)、用户 ID (UID) 和页面范围用户 ID (PSID)。目前,您可以在没有要求的情况下查询 ASID 和 UID。但是,从 2020 年 10 月 24 日开始,所有基于 UID 的查询都需要访问令牌。如果您查询 UID,因此必须包含一个令牌:
access_token以 Facebook 为您提供的任何形式获取根据您的应用程序结构,您可以使用 Facebook 提供的以下任一方法来获得access_token. 您可以access_token在此处找到有关FB 文档的更多信息。
应用程序访问令牌
客户端访问令牌
作为我正在使用的客户端访问令牌的示例:使用以下参数
发出 GET 请求https://graph.facebook.com/oauth/access_token:
[
"client_id" => #FACEBOOK_CLIENT_ID,
"client_secret" => #FACEBOOK_CLIENT_SECRET,
"grant_type" => "client_credentials",
]
Run Code Online (Sandbox Code Playgroud)
作为响应,您将获得access_token需要附加在新图像 URL 上的响应。
access_token附件的完整头像 URL 。截至 2020 年 10 月 23 日,这对我有用。完整图像格式现在是
{$this->graphUrl}/{$this->version}/{$userID}/picture?type=large&redirect=false&access_token={$access_token}
如果你设置redirect=false你会得到一个 JSON 对象作为响应:
{
"data": {
"height": 100,
"is_silhouette": false,
"url": "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=10152700727498624&height=100&width=100&ext=1606081666&hash=AeTQyGgugiSbRcB7Sxw",
"width": 100
}
}
Run Code Online (Sandbox Code Playgroud)
另一方面,如果您离开redirect=true或根本不设置它,您将获得图像本身,然后您可以将其保存在磁盘上或使用 url 作为图像路径。但我不确定给定的 URL 是否长期存在。我现在使用相同的 URL 差不多一个星期了,所以我认为一旦您使用有效的 access_token 请求该 URL,该 URL 将保持原样。
因为我已经在 PHP 中实现了它,所以我不能给你一个示例代码,而是向你展示我在 Laravel 框架中使用 Guzzle 客户端完成它的方式。你可以看看到我的升级提供班Laravel社会名流在这里。
[
"client_id" => #FACEBOOK_CLIENT_ID,
"client_secret" => #FACEBOOK_CLIENT_SECRET,
"grant_type" => "client_credentials",
]
Run Code Online (Sandbox Code Playgroud)
有一种方法可以构建自己的,access_token但这应该仅用于测试目的,因为您提供了完整的凭据并且可能会被劫持。您可以通过使用您的凭据和|as 分隔符以这种格式构建一个连接的字符串来存档:{cliend_id}|{client_secret}.
| 归档时间: |
|
| 查看次数: |
2089 次 |
| 最近记录: |