Facebook graph api无法获得用户的公开个人资料

问题描述 投票:1回答:1

我已经在我的应用程序中实现了社交身份验证,并且成功获得了访问令牌。但是,当我使用该访问令牌获取用户的公开个人资料时,只会得到用户的ID和用户名。我无法获得用户的其他属性,例如用户的个人资料图片。

当我尝试这个时:

Json = await httpClient.GetStringAsync($"https://graph.facebook.com/v5.0/{userWithOnlyId.Id}?access_token={accessToken}");

我仅获得用户的ID和名称。

当我按照this facebook doc的说明进行操作时:

await httpClient.GetStringAsync(
            $"https://graph.facebook.com/me?fields=profile_pic&access_token={accessToken}");

我收到403禁止的错误。

我做错了什么吗?我已经尝试过一些在stackoverflow上找到的东西,但是直到现在我还没有解决方案。

c# facebook-graph-api facebook-authentication
1个回答
0
投票

有一个示例(部分:检索个人资料):

https://graph.facebook.com/<PSID>?fields=first_name,last_name,profile_pic&access_token=<PAGE_ACCESS_TOKEN>

看起来您需要提供PSID

ASID(App-scoped ID)-这是每个应用程序唯一的用户ID。

这意味着该用户将为每个应用程序使用不同的ASID。我认为您只有一个应用程序。

要从应用程序范围的ID中获取页面范围的ID,请发送POST请求至/ pages_id_mapping根节点enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.