0

Итак, мне удалось успешно связать динамические сообщения новостей на моем веб-сайте со стеной моей страницы как страницы (а не пользователя) через PHP. Все еще мне интересно, правильно ли мое решение, или если оно будет работать в долгосрочной перспективе. Сказав, что вот что я сделал:Динамическое размещение сообщений на стене страницы шаг за шагом, что я сделал

  • создал профиль администрировать страницу с
  • создал страницу компании
  • создал приложение с домена, указывая на мой домен сайта и веб-сайт, указывая на мой сайт URL
  • отключить offline_access устаревания для того, чтобы иметь возможность выдавать offline_access жетоны
  • Найдено мой PageId через HTTP: // graph.facebook.com/PAGE_NAME
  • Пошел https: // developers.facebook.com/tools/explorer/APP_ID
  • Вставить PageId в вместо идента и нажал отправить
  • Затем я нажал на доступ Получить лексем и проверил manage_pages, publish_stream, offline_access

(если только это не сработало, я посетил https://developers.facebook.com/docs/authentication/ и под «Страница Логин» Я узнал, что страница Логин требуется другой тип маркера ...)

require_once('facebook-sdk/facebook.php'); 
//Required facebook auth vars 
$appID = 'APP_ID'; 
$appSecret = 'APP_SECRET'; 
$pageID = 'PAGE_ID'; 
$appOfflineToken = 'TOKEN_RETURNED_IN_PREVIOUS_STEP'; 
$pageTokenURL = 'https://graph.facebook.com/me/accounts?access_token='; 
$access_token = ''; 

//connect to facebook app 
$facebook = new Facebook(array(
    'appId' => $appID, 
    'secret' => $appSecret, 
    'cookie' => true 
)); 

//get page managed pages information 
$jsonData = file_get_contents($pageTokenURL.$appOfflineToken); 
$content = json_decode($jsonData, true); 

//filter access_token for desired page using pageID 
foreach($content['data'] as $item) { 
    if($item['id'] == $pageID){ 
     $access_token = $item['access_token']; 
     break; 
    } 
} 

//format post 
$post = array(
    'access_token' => $access_token, 
    'picture' => "http://URL_TO_PICTURE, 
    'link' => "http://URL_TO_NEWS_POST", 
    'name' => "NEWS_TITLE", 
    'description' => 'NEWS_DESCRIPTION' 
); 

//post content to page wall 
$res = $facebook->api('/'.$pageID.'/feed', 'POST', $post); 

так что мой вопрос ... даже если это кажется надуманным ... это правильно? хорошо, по крайней мере, это работает!

PS: извините, о связи, но может представить только 2 в этом посте ... не хватает улицы креди кажется: р

+0

Вы, кажется, правы. Во всяком случае, почему вы делаете это вручную? – gremo

+0

, потому что, как оказалось, вам нужно только один раз выпустить токен доступа к офлайн-доступу через приложение. Однако я обновил сценарий, включив в него безопасный режим, если по какой-то причине токен вымирает, что генерирует новый токен (потому что в документация, которую они говорят, токены-токены долговечны, они просто не говорят, как долго). Я в основном размещал это, потому что большинство из того, что я нашел в google, не охватывало идею обновления новостей на веб-сайте, синхронизированного со страничной стеной ... также потому, что я был не уверен, что этот процесс был правильным, если бы это было как-то «взломать» или, если есть другой способ: P –

+1

'offline_access' будет устаревшим в течение нескольких недель. Однако ваш токен доступа (никогда не истекает) будет продолжать работать.В любом случае проверьте https://developers.facebook.com/docs/offline-access-deprecation/ – gremo

ответ

-1

Вы кажется правильным, но единственная проблема это offline_access

я работу это от двух недель только моя проблема offline_access Я хочу, сколько дней или недель работает, потому что когда в моем проекте offline_access работает в течение двух часов и есть ли проблемы в моем коде или что?