Как я могу использовать разрешение ‘manage_pages’ с SDK на Facebook?

#php #facebook #facebook-graph-api

#php #Facebook #facebook-graph-api

Вопрос:

Я создаю приложение, которое отображается в виде вкладки на странице вентилятора. Администратор фан-страницы дает мне разрешение manage_pages , а затем вкладка моего приложения добавляется на его фан-страницу.

Проблема в том, что я не нашел никакого примера кода о том, как использовать это разрешение с PHP SDK. Я посмотрел в файл base_facebook.php SDK, и я предполагаю, что я должен использовать функцию getApiUrl , но я не уверен и, вероятно, я не знаю, как использовать эту функцию.

Ответ №1:

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

 function get_page_access_token($page_id, $access_token, $user_id) {
    $data = file_get_contents('https://graph.beta.facebook.com/'.$user_id.'/accounts?access_token='.$access_token);
    $pages = json_decode($data,true);
    foreach($pages['data'] as $page) {
      if($page['id'] == $page_id) {
        return $page['access_token']; 
      }   
   }
}
  

Ответ №2:

У вас ошибка. Является $page[‘name’]

 function get_page_access_token($page_id, $access_token, $user_id) {
    $data = curl_get_contents('https://graph.beta.facebook.com/'.$user_id.'/accounts?access_token='.$access_token);
    $pages = json_decode($data,true);
    foreach ($pages['data'] as $page) {
        if ($page['name'] == $page_id) {
            return $page['access_token']; 
        }   
    }
}