Как разместить приложение на стене Facebook, используя Facebook C# SDK?
Это моя первая попытка использовать этот SDK, так что будьте осторожны со мной. Я сделал это:
var fbWebContext = FacebookWebContext.Current;
if (fbWebContext.IsAuthorized())
{
// post as application
var fb = new FacebookOAuthClient { AppId = "205378862824897", AppSecret = "4deb72e26c22415fe00e44028b401114" };
dynamic result = fb.GetApplicationAccessToken();
var appAccessToken = result.access_token;
Dictionary<string, object> parameters = new Dictionary<string, object>()
{
{"description", "Testbeskrivning"},
{"link", "http://zitac.se"},
{"name", "Testtitel" }
};
var fbApp = new FacebookWebClient(appAccessToken);
result = fbApp.Post(FB_ID_FANPAGE + "/feed", parameters);
lblMessage.Text = result;
}
И получил его: (OAuthException) (#200) Пользователь не авторизовал приложение для выполнения этого действия.
Есть ли какие-то настройки, необходимые на странице поклонника?
Это использует ASP.NEt 4.0 и SDK 5.0.7.
2 ответа
Ошибка "Пользователь не авторизовал приложение..." звучит так, как будто у пользователя Facebook нет необходимых разрешений. Подробности смотрите здесь.
Им нужно как минимум авторизовать publish_stream.
Проверьте разрешения, которые вы запрашиваете в JavaScript на вашей странице; ссылка на Javascript в Facebook объясняет это в деталях.
Надеюсь это поможет.
У Энди это в основном, НО здесь есть кое-что еще, что я понял. Похоже, вы хотите опубликовать как приложение на стене пользователя. Если вы просто хотите, чтобы что-то отображалось в новостной ленте пользователя, тогда вам нужно, чтобы приложение понравилось пользователю. А затем, когда вы публикуете сообщение на стене приложения, оно должно отображаться в ленте пользователя (фактически, во всех новостных лентах пользователя).
Если вы хотите перейти прямо к стене пользователя, то вам нужно написать в "{facebook userid}\feed". Имейте в виду, Facebook может или не может позволить это (я забыл, делают ли они это или нет в данный момент).
Из того, что я могу сказать, что вы сделали до сих пор должно работать. Проблема, с которой вы сталкиваетесь, заключается в том, что вы публикуете на неизвестной фан-странице (разрешено ли приложение на этой фан-странице?)