Facebook SDK .Net (C #) загрузка изображения в автономном режиме - PullRequest
0 голосов
/ 10 марта 2012

Я использую 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);

Можно ли добиться того, что я ищу, и если да, то что я делаю не так?

1 Ответ

0 голосов
/ 21 марта 2012

Ваш код для запроса токена доступа второй раз не работает.Нет причин делать это (и все равно это не всегда работает).Вы должны просто сохранить токен доступа, когда пользователь впервые регистрируется в журнале.

Ошибка, которую вы получаете, заключается в том, что ваша myString равна нулю, когда вы передаете ее в FacebookClient, и, следовательно, ошибка, что вы не предоставляете токен доступа.

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

...