【问题标题】:Accessing facebook user wall posts using C# sdk使用 C# sdk 访问 facebook 用户墙贴
【发布时间】:2011-04-19 03:16:53
【问题描述】:

我试图检索特定用户的墙贴,类似的问题已在此处得到回答 - How to get posts of user,但由于某些奇怪的原因,它对我不起作用。

我关注了 codeplex 文档中的文章 - Getting Started with an ASP.NET MVC 3 Website

AccountController 代码类似于https://gist.github.com/899052,下面是尝试获取帖子的操作方法

var facebookId = long.Parse(User.Identity.Name);
var user = this.repository.Get(facebookId);
var fb = new FacebookWebClient(user.AccessToken);
dynamic result = fb.Get("me/feed");

但我总是在 result.data 中得到一个空数组。我不太确定,是否需要设置任何权限,如果需要,我该怎么做?

更新:

在 Account Controller 中,我没有在 LogOn 方法中请求权限,下面是它可以完成的方式,它解决了问题

public ActionResult LogOn(string returnUrl)
{
   var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current)
   {
       RedirectUri = GetOAuthCallbackUri()
   };
   Dictionary<string, object> parameters = new Dictionary<string, object>();
   parameters.Add("state", returnUrl);
   parameters.Add("scope", "offline_access,read_stream,user_photos,user_videos,publish_stream");
   var loginUri = oAuthClient.GetLoginUrl(parameters);
   return Redirect(loginUri.AbsoluteUri);
 }

在此之前,我收到了5.0.9 error on Exchange code for access token 中提到的错误,但我下载了最新的源代码并按照该帖子中的回答进行编译

【问题讨论】:

    标签: facebook-c#-sdk


    【解决方案1】:

    首先,确保您已获得“read_stream”权限,否则您将无法访问新闻源。

    其次,浏览到路径...

    https://graph.facebook.com/[user_id]/feed?access_token=[access_token]
    

    ...收到访问令牌后,看看是否得到相同的结果。

    【讨论】:

    • 你能告诉我如何授权'read_stream'权限
    • @Sambo.. 你给我指出了正确的方向。我已向问题本身添加了一个 update,它显示了我已完成的代码修复
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多