【发布时间】:2012-03-10 18:54:31
【问题描述】:
我正在使用 v6 C#.Net Facebook SDK(可以找到博客http://blog.prabir.me/post/Facebook-CSharp-SDK-Writing-your-First-Facebook-Application-v6.aspx)。
我需要从用户那里获得对 offline_access 的访问权限,然后(不同的会话)将图像发布给该用户。
我也尝试将图像上传到(我的)某个页面,但不能。
我正在为用户提供一个简单的对话框,并接受他允许我要求的所有凭据“user_about_me、read_stream、user_online_presence、friends_online_presence、offline_access、publish_stream、photo_upload”
然后,在不同的会话中(重新启动我的应用程序),我使用以下方法创建访问令牌:
(使用 WebRequest 如下:)
var url = string.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&client_secret={1}&grant_type=client_credentials",AppId, AppSecret);
WebRequest request = WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse();
var myString = (new StreamReader(webResponse.GetResponseStream()).ReadToEnd());
myString = myString.Replace("access_token=", "");
但是,当尝试访问之前已提供offline_access 凭据的用户时,使用访问令牌时抛出异常:
(OAuthException) 请求此资源需要访问令牌
对于一个非常简单的请求:
var fb = new FacebookClient(myString);
var result = fb.Get("/{0}/permissions", userThatGaveCredentials);
是否有可能实现我正在寻找的东西,如果可以,我做错了什么?
【问题讨论】:
标签: facebook-graph-api facebook-c#-sdk offline