Доступ к публикациям на Facebook с использованием C # SDK - PullRequest
1 голос
/ 17 апреля 2011

Я пытался получить сообщения на стене для определенного пользователя, на этот же вопрос был дан ответ - Как получить сообщения пользователя , но по каким-то странным причинам это не работает для меня.

Я следовал статье в документации к codeplex - Начало работы с веб-сайтом ASP.NET MVC 3

Код 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. Я не совсем уверен, нужно ли мне устанавливать какие-либо разрешения, и если да, то как я могу это сделать?

Обновление:

В контроллере учетных записей я не запрашивал разрешения в методе 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, ошибка в коде Exchange для маркера доступа , но я скачал последний скомпилированный исходный код в ответ на это сообщение

1 Ответ

2 голосов
/ 17 апреля 2011

Во-первых, убедитесь, что у вас есть разрешение 'read_stream', иначе вы не сможете получить доступ к новостным лентам.

Во-вторых, перейдите к пути ...

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

... после того, как вы получили токен доступа, чтобы увидеть, получаете ли вы те же результаты.

...