Как мне подписаться на Facebook Realtime API? - PullRequest
0 голосов
/ 10 января 2012

Я разрабатываю настольное приложение и хочу подключиться к Facebook Realtime API. Это мой код на клиенте (приложение WPF):

После выполнения моего кода на fb.Post я получаю следующую ошибку: (OAuthException) (# 15) Этот метод не поддерживается для собственных приложений.

Я также попробовал код из ASP.NET и получил ту же ошибку, так что я не думаю, что это сообщение очень интуитивно понятно.

Как я могу решить эту проблему и успешно подписаться на Facebook Realtime API?

var tokenUrl = "https://graph.facebook.com/oauth/access_token?client_id=" + Constants.Facebook.AppId + "&client_secret=" + Constants.Facebook.AppSecret + "&grant_type=client_credentials";
            var requestToken = WebRequest.Create(tokenUrl);
            HttpWebResponse res = (HttpWebResponse)requestToken.GetResponse();
            Stream resst = res.GetResponseStream();
            var sr = new StreamReader(resst);
            string responseToken = sr.ReadToEnd();
            var app_access_token = responseToken.Replace("access_token=", "");

            var callback_url = "[MY CALLBACK URL]";
            var fb = new FacebookClient(app_access_token);
            var parameters = new Dictionary<string, string>();
            parameters.Add("object", "user");
            parameters.Add("fields", "feed");
            parameters.Add("callback_url", callback_url);
            parameters.Add("verify_token", "abc");
            parameters.Add("access_token", app_access_token);

            var uri = string.Format("https://graph.facebook.com/{0}/subscriptions?", Constants.Facebook.AppId);
            var response = fb.Post(uri, parameters);

1 Ответ

1 голос
/ 10 января 2012

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

Документация для обновлений в реальном времени пропускает эту информацию, вы можете отправить сообщение об ошибке и посмотреть, что говорят официальные лица ...

...