2014-09-05 5 views
1

Как часть веб-сайта, над которым я работаю, мне нужно иметь возможность отправлять сообщения прямо на стену моих клиентов Facebook.Создайте приложение для Facebook, которое опубликует на странице Я администратор

Я создал приложение, и я успешно разместив на собственном фиктивной профиле, просто используя:

$request = new FacebookRequest(
    $session, 'POST', '/me/feed', array(
    'link' => 'my_url', 
     'message' => 'my_message' 
    ); 

Теперь мне нужно изменить это, чтобы разместить на своей странице клиентов, им предполагая, я не могу просто изменить «меня 'по их идентификатору страницы, потому что это будет серьезным недостатком безопасности, поэтому мне нужно получить разрешение на публикацию на их странице. Я администратор страницы, как я могу это сделать? Или мне действительно нужно войти в систему с учетной записью пользователя, которая создала страницу?

Я искал все вокруг в разделе разработчика при создании приложения, но, похоже, нет никакого способа создать приложение для другой учетной записи.

Любой совет был бы очень благодарен за это. Большое спасибо

+0

Войти, как вы, а затем получить токен доступа к странице, который описан на https://developers.facebook.com/docs/facebook-login/access-tokens – WizKid

ответ

0

Для того, чтобы оставлять на странице Facebook, вы должны пройти через процесс в двух шагах -

  • как зарегистрированный пользователь, используя расширенный маркер пользователя,
  • получить пользователя токен для страницы
  • Опубликовать на странице, используя маркер страницы.

Следующий код должен быть способен опубликовать сообщение на вашей странице. Я НЕ отлажена IT, так как она упрощена из моего собственного веб-сайта :-) Не забудьте включить файлы Facebook SDK:

function extract_access_token_of_facebook_page_by_id($array_of_all_user_pages,$page_id){ 
    $num_of_pages=count($array_of_all_user_pages['data']); 
    $the_page_token=""; 

    for ($i=0; $i<$num_of_pages; $i++){ 
     if ($array_of_all_user_pages['data'][$i]['id']==$page_id){ 
      $the_page_token=$array_of_all_user_pages['data'][$i]['access_token']; 
      } 
     } 
    return $the_page_token; 
    } 

$facebook = new Facebook(array(
      'appId'  => $YOUR-APP-ID, 
      'secret' => $YOUR-APP-SECRET, 
      )); 

try 
    { 
    $facebook->setAccessToken($THE-USER-TOKEN); 
    $page_id = YOUR-PAGE-ID; 
    $fanpage_access_token=extract_access_token_of_facebook_page_by_id($facebook->api("/me/accounts"),$page_id); 
    $args = array(); 
    $args['access_token'] = $fanpage_access_token; 
    $args['message'] = "THE TEXT YOU WANT TO POST"; 
    $api_url="/".$page_id."/feed"; 
    $api_response = $facebook->api($api_url, 'post', $args); 
    } 
catch (FacebookApiException $e) 
    { 
echo 'Error facebookservice'.$e; 
    } 
+0

Большое спасибо PalDev! Это сделал трюк! Крошечный бит для настройки, потому что некоторые элементы, где объекты, а не массивы в методе extract_access_token_of_facebook_page_by_id, но в значительной степени ударяются! Большое спасибо за Вашу помощь!! –

+0

Ничего страшного партнера :-) – PalDev

0

Пожалуйста, ознакомьтесь с разделом «Разработчик приложений». Это поможет вам. Создайте учетную запись разработчика, и вы сможете получить доступ к странице.

Facebook Developer Section

0

вы код для старой версии SDk я думаю, это не работа для меня: Неустранимая ошибка: Class 'Facebook' не найден

Смежные вопросы