我已经看过其他堆叠问题,但他们的解决方案似乎根本没有帮助我。
当我有一个使用
从oauth登录返回的外部访问令牌时,我正在尝试获取配置文件信息void handle_sigalarm(int sig)
{
/* do nothing */
}
...
sigaction(SIGALRM , &(struct sigaction){handle_sigalarm}); /* Setup handler for
alarm signal to override the default behaviour which would be to
end the process . */
alarm(3); /* Arranges for a SIGALRM signal to be delivered to the calling
process in 3 seconds. */
{
int accepted_socket = accept(...);
int errno_save = errno;
alarm(0); /* Cancel any pending alarm. */
if (-1 == accepted_socket)
{
if (EINTR == errno_save)
{
fprintf(stderr, "accept() timed out\n");
}
/* handling other errors here. */
}
...
我有返回的访问令牌,现在想请求获取一些用户配置文件数据。
在帖子中,我尝试过以下GET
Microsoft.Owin.Security.Facebook
我通过调用
获得了用户IDhttps://graph.facebook.com/v2.5/{user-id}?fields=about,name,email&access_token={token}
(我觉得这是一个不必要的步骤)。
我也尝试了以下
https://graph.facebook.com/v2.5/me?access_token={token}
在每个实例中,我只返回返回的id和name字段。但是,我注意到我是否会这样做;
https://graph.facebook.com/v2.5/me?fields=about,name,email&access_token={token}
只返回id(我假设我没有特别要求提供名称)。
为什么我没有退回数据呢?
已更新
如果我打电话给以下终点;
https://graph.facebook.com/v2.5/me?fields=email&access_token={token}
我收到以下数据;
https://graph.facebook.com/v2.5/{user-id}/permissions?access_token={token}
所以我假设我需要申请该应用的权限?
答案 0 :(得分:0)
好的,Facebook开发者页面上的ASP.NET权限请求不是很清楚。问题是信息请求在
中设置FacebookAuthenticationOptions
在应用程序启动期间设置。此时通过添加到范围来请求其他权限;
var options = new FacebookAuthenticationOptions
{
AppId = "Your App ID",
AppSecret = "Your App Secret",
};
options.Scope.Add("user_friends");
options.Scope.Add("email");
此外,要在请求期间注意,默认情况下不会发送字段,必须请求。
可在此处找到可用权限的链接;
https://developers.facebook.com/docs/facebook-login/permissions