У меня есть веб-сайт, и мне нужно, чтобы он периодически отправлял обновления статуса на страницу Facebook.
Используя мою личную учетную запись Facebook, я создал приложение и страницу. До сих пор я мог программно публиковать на стене своей страницы, добавив этот код на свой сайт:
include_once "lib/facebook/src/facebook.php"; $facebook = new Facebook(array('appId' => 'APP_ID_HERE', 'secret' => 'APP_SECRET_HERE')); if($facebook->getUser()) { try { $ret_obj = $facebook->api('/FACEBOOK_PAGE_ID_HERE/feed', 'POST', array( 'link' => 'www.example.com', 'message' => 'Posting with the PHP SDK!', 'access_token' => 'FACEBOOK_PAGE_ACCESS_TOKEN_HERE' )); echo '<pre>Post ID: ' . $ret_obj['id'] . '</pre>'; } catch(FacebookApiException $e) { // user logged out (has user_id, but invalid access token) $login_url = $facebook->getLoginUrl(array('scope' => 'publish_stream')); echo 'Please <a href="' . $login_url . '">login.</a>'; } echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>'; } else { $login_url = $facebook->getLoginUrl(array('scope' => 'publish_stream')); echo 'Please <a href="' . $login_url . '">login.</a>'; }
Поэтому я просто открываю свой сайт, нажимаю «Войти в систему», войдите в систему как я. Как только я зарегистрирую его, он теперь сможет опубликовать обновление статуса на странице Facebook.
Очевидно, проблема здесь в том, что мне нужно войти в систему, чтобы она могла публиковать сообщения. Если другие пользователи попытаются войти в систему со своими учетными записями пользователей, мой сайт не сможет публиковать обновления статуса на странице Facebook, потому что я являюсь единственным администратором для приложения / страницы.
Мой вопрос в том, есть ли способ для меня программным образом войти в Facebook, чтобы я мог автоматически обновлять эти статусы на моей странице?
Извините, общий номер здесь для разработки Facebook.
Похоже, вам нужно обновить статус, когда вы в автономном режиме от facebook. Для этого вам нужно получить доступ к автономному доступу к пользователю приложения, и вам нужно иметь «бесконечный» токен для приложения facebook для доступа к API-интерфейсам, чтобы ваша программа могла обновляться в любое время без входа в facebook.
Вы можете получить то, что хотите здесь
Я немного опаздываю на вечеринку здесь, но я думал, что отправлю свой пример, чтобы сделать что-то очень похожее. Я добавил некоторые функциональные возможности для fbconsole, чтобы упростить программирование входа в систему с помощью fbconsole.automatically_authenticate
чтобы упростить доступ к этой информации на систематической основе. Это дополнение еще не было включено в ведущую ветвь fbconsole (он был только что опубликован этим утром), но он доступен здесь тем временем для тех, кто интересуется.
Это то, что я использую,
// = SET WALL DATA HERE =============== $attachment = array( 'access_token' => 'My Access token here', 'message' => '', 'name' => 'My Wall Post Header/Title Here', 'caption' => 'Small caption here', 'link' => 'http://www.mywebsite.org', 'description' => 'Wall Post Details Here', 'picture' => "http://www.mywebsite.org/images/logo.gif", ); // =POST ON FACEBOOK WALL ========================== $this->facebook->api('/me/feed', 'POST', $attachment); , $attachment);
Поэтому включите свой API Facebook, получите токен Facebook Access, данные SET для вашего настенного сообщения и позвоните в facebook api со мной / методом подачи.
Это сделает стенную стойку на стене без запроса входа.
убедитесь, что вы используете правильный токен доступа.