Я использую Facebook SDK, чтобы опубликовать несколько стендов на моей странице в Facebook. Я хочу опубликовать на моей странице facebook каждые 8 часов, используя PHP CRON-скрипт, и для этого мне нужно обойти страницу входа в систему Facebook. Так кто-нибудь знает способ аутентификации из командной строки или в эфире?Как проверить подлинность facebook sdk без диалогового окна входа?
ответ
Authenticating as a Page предоставит вам токен доступа, который вы можете сохранить в своей базе данных, а затем выполнить различные задачи с помощью PHP.
Это полезно для выполнения различных действий с использованием cron, таких как расписание сообщений, поддержка нескольких страниц, отправка нескольких страниц одновременно, загрузка фотографий и многое другое с использованием Graph API. Проверьте их документы для получения дополнительной информации о том, как это сделать.
Примечание. Вам просто нужно выполнить аутентификацию своего приложения один раз и сохранить ключ доступа к токену страницы, как только вы это сделаете, вам не нужно снова входить в систему, и вы можете просто использовать маркер доступа для выполнения различных задач на своей странице ,
Нет, нет возможности обойти страницу входа в систему Facebook, хотя для вашего случая вы можете получить расширенный ключ доступа и использовать его для публикации на стене. Вы можете использовать следующий код, используя PHP SDK для получения маркера доступа
$extendedToken = $facebook->setExtendedAccessToken();
$facebook->api('<PAGE_ID>?fields=access_token');
Тогда просто использовать
$facebook->setAccessToken();
разместить на вашей странице. Не забудьте получить разрешение до того, как вы сгенерируете токен расширенного доступа.
Facebook обеспечивает токен доступа для использования пользователем приложения Facebook. В первый раз пользователь должен войти в систему через facebook login, после входа на сайт, он попросит разрешения на доступ к приложению. После того, как пользователь примет, то facebook вернет вам код. Вы должны взять код и использовать это, чтобы получить маркер доступа
, используя следующий код
$url = "https://graph.facebook.com/oauth/access_token?client_id=". $yourappId ."&redirect_uri=". urlencode($this->redirect_url) ."&client_secret=". $youappsecret."&code=". $code;
$auth_token = $this->getContents($url);
$str = explode('=',$auth_token);
$token = explode('&expires', $str[1]);
Здесь $ маркер будет иметь маркер доступа к пользователю, и может хранить этот маркер в ур локальной БД и используйте этот токен, чтобы опубликовать сообщение на стене facebook. его простой .. вот и все.
Чтобы отправить сообщение на Fb стены
$fb_id = "User_fb_id"
$access_token = "User_Access_Token_Take by Above code"
$msg = "Message_to_post"
$img_path = "Image_Path"
$facebook = new Facebook(array(
'appId' => $this->appId,
'secret' => $this->secret,
'cookie' => true));
if($msg != NULL) {
$attachment = array(
'message' => $msg,
'name' => 'NHM',
'picture' => $img_path);
}
try {$result = $facebook->api('/'. $fb_id . '/feed/',
'post',
$attachment);
if(isset($result['id']))
return true;
else
return false;
} catch(FacebookApiException $e) {
return $e->getMessage();
}
Здесь вы должны Id пользователя Facebook пользователей. Чтобы получить идентификатор пользователя, используйте следующий код:
$url = "https://graph.facebook.com/me?access_token=". $access_token;
$userInfo = $this->getContents($url);
$userInfo = json_decode($userInfo, true);
public function getContents($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec ($ch);
curl_close ($ch);
return $content;
}
Попробуйте это. Дайте мне знать Если возникнут какие-либо вопросы
Что такое $ this-> getContents Я не могу найти какое-либо имя метода, подобное этому в facebook SDK –
Я добавил функцию getContents. Извините за отсутствие этого. –
Вместо вызова функции вы можете поместить код непосредственно. –
- 1. iPhone SDK/Facebook Connect: использование настраиваемого диалогового окна для входа
- 2. Как отправить данные в стену Facebook без диалогового окна входа?
- 3. Параметры диалогового окна iOS SDK для Facebook
- 4. Как разместить на facebook стене с помощью Facebook Android SDK, без диалогового окна
- 5. Facebook ios SDK - Как обращаться с обратным вызовом диалогового окна?
- 6. Отображение модального диалогового окна входа
- 7. Как проверить подлинность Facebook ID приложения
- 8. Публикация wllpost на facebook без открытия диалогового окна facebook
- 9. Автоматические тесты Calabash android для диалогового окна входа в facebook
- 10. Facebook SDK 4.0.1 Войти без кнопки входа
- 11. Изменение размера диалогового окна в Android Facebook SDK
- 12. Быстрое открытие диалогового окна входа в Firebase Facebook 2 раза
- 13. Кнопка входа в систему Facebook внутри диалогового окна
- 14. Unity Facebook SDK - Ошибка входа
- 15. SDK 4.0 Facebook, нет диалогового окна для запроса разрешения publish_actions
- 16. Как выйти из Facebook без какого-либо диалогового окна?
- 17. Как проверить подлинность OneNote без открытия браузера?
- 18. iPhone Facebook как без входа
- 19. Проверить статус входа в Facebook без приложения?
- 20. Как я могу проверить, защищены ли пользовательские твиты с помощью ajax без запуска диалогового окна входа?
- 21. Как динамически заполнять содержимое диалогового окна facebook
- 22. Facebook Connect настройки для всплывающего диалогового окна
- 23. Обратный вызов диалогового окна Android Facebook
- 24. Как проверить подлинность с помощью Facebook с использованием AWS Cognito?
- 25. можно ли создать страницу входа в facebook без facebook sdk?
- 26. как проверить MultiChoiceItems андроида диалогового окна
- 27. не может проверить подлинность с Facebook
- 28. Расширение диалогового окна ускорения Facebook при входе в приложение Android
- 29. Печать отчета без диалогового окна
- 30. chrome- print без диалогового окна
Не истечет срок годности? –
Да, срок действия истек. Но вы можете расширить токен, сделав вызов API и получить долгоживущий токен (максимальный срок действия 60 дней), затем вы можете сохранить его в своей базе данных. –