Facebook C#SDK和访问令牌
我希望能够使用Facebook C#SDK在我自己的Web应用程序上validation自己(我的个人资料,而不仅仅是我的应用程序) 。 使用Graph API,我可以获得访问令牌,但该令牌似乎与Facebook C#无法正常工作,因为它似乎是无状态的。
抛出的错误是:
(OAuthException) An active access token must be used to query information about the current user.
我浏览了Facebook C#SDK和文档,我看到的大多数信息都是将用户重定向到登录页面,这不是我想要的。
有没有人有自己的自动记录样本,所以我可以提取自己的信息?
TIA
当你说“你自己”时,你的意思是应用程序或你的实际Facebook用户?
如果它只是您的应用程序,您可以通过POST到此URL获取访问令牌:
https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=APP_ID_HERE&client_secret=APP_SECRET_HERE
如果用户已授权您的应用,则可以使用此访问令牌代表您的用户执行操作。
我有同样的问题,其中访问令牌不包括会话部分。 请查看我对这个类似问题的回答 – 令牌facebook-c#-sdk的交换代码 。
这是我的家庭控制器的样本
[CanvasAuthorize] public ActionResult Index() { var app = new FacebookClient(new Authorizer().Session.AccessToken); dynamic me = app.Get("me"); ViewBag.Firstname = me.first_name; ViewBag.Lastname = me.last_name; return View(); }
编辑
现在我更好地理解了这个问题。 那这个呢?
var auth = new Authorizer(FacebookContext.Current.AppId, FacebookContext.Current.AppSecret, HttpContext); auth.Authorize();
从文档:
public bool Authorize()Facebook.Web.Authorizer的成员
摘要:如果用户未登录或应用程序没有所有的sepcified权限,则授权用户。
返回:如果用户经过身份validation且应用程序具有所有指定的权限,则返回true。
我不知道这是否适合你:
using Facebook.Web; using Facebook; using System.Dynamic; var auth = new CanvasAuthorizer { Permissions = new[] { "user_about_me"} }; if (auth.Authorize()) { }
并将其包含在aspx中:
"/>
祝好运 !!
上述就是C#学习教程:Facebook C#SDK和访问令牌分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1007449.html