Я хотел бы написать консольное приложение, которое автоматически публикует информацию на моей стене каждое утро.
Я подписался на разработчика Facebook и у меня есть AppID и App Secret
Я пытался поиграть с C # facebook SDK и просмотрел несколько примеров.
Похоже, что примеры получают токен пользователя, но должны использовать браузер в форме Windows. Это автоматизированный процесс, поэтому я не хочу, чтобы присутствовал пользователь.
Я также создал несколько примеров, используя маркер приложения, но, похоже, он не может писать на стену.
Я написал эквивалент в Twitter очень быстро. Должно быть, я что-то здесь упускаю ???
Как правильно поступить?
Кажется, все, что мне нужно, это:
FaceBookClient (appID, appSecret)
а потом просто
FaceBookClient.Put (сообщение)
???
уточнение добавлено:
Игра с приложением Winform C # facebook SDK
Мне пришлось изменить их FacebookLoginDialog.cs, чтобы использовать следующий URL:
https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=APPID&client_secret=APPSECRET&scope=user_about_me,publish_stream,offline_access
, который возвращает ключ доступа в WebBrowser.DocumentText
Если я тогда позвоню:
var fb = new FacebookClient(_accessToken);
dynamic parameters = new ExpandoObject();
parameters.message = "Hello World!";
dynamic result = fb.Post("me/feed", parameters);
Я получаю исключение:
(OAuthException) Активный токен доступа должен использоваться для запроса информации о текущем пользователе.
Если я изменю код выше, чтобы НЕ использовать этот токен доступа - но использовать appID и Appsecret:
FacebookClient myFacebookClient = new FacebookClient("APPID", "APPSECRET");
dynamic parameters = new ExpandoObject();
parameters.message = "Hello World!";
dynamic result = myFacebookClient.Post("me/feed", parameters);
Тогда я получаю исключение:
(OAuthException) Активный токен доступа должен использоваться для запроса информации о текущем пользователе.
Полагаю, это то же самое исключение