Управление страницами Facebook с помощью PHP - PullRequest
1 голос
/ 02 мая 2011

Я хочу более глубоко интегрировать свой текущий веб-сайт с Facebook с помощью фан-страницы (обратите внимание: я заметил протокол Open Graph, который поддерживает Facebook, но я хочу создать фан-страницу для всего сайта).
Я знаю, что вы можете создавать и управлять фан-страницами с помощью Facebook, но я ищу способ сделать это с помощью сценария PHP - например, разместить на стене фан-страницы, создавать события с помощью фан-страницы и в идеале - создаватьвторостепенные фан-страницы на лету.
Посмотрев в разделе разработчиков Facebook, я не нашел способа выполнять эти задачи извне с помощью API Facebook.
Поэтому мой вопрос: как бы вы этого достигли?

Спасибо!

1 Ответ

6 голосов
/ 02 мая 2011

Публикация постов на вашей странице и создание событий - относительно тривиальные задачи.Для этого вы можете использовать Graph API .

Обратите внимание на область, касающуюся Publishing .Он дает вам общий обзор того, как работает публикация, и это можно применять ко всему графику.

Кроме того, в документации по части События API Graph есть пример сообщения cURL о том, как создать новое событие с помощью API Graph.

Публикация чего-либо наваша страница в Facebook потребует, чтобы у вас было расширенное разрешение manage_pages , и, вероятно, неплохо получить разрешение offline_access.

Пример того, как отправлять сообщения на вашСтена страницы и создание события (в php) будут выглядеть примерно так:

<?php

require 'facebook.php';

$fb = new Facebook(array(
    'appId' => FB_APP_ID,
    'secret' => FB_APP_SECRET,
    'cookie' => true
));

$your_page_id = '123123123';

//get the access token to post to your page via the graph api
$accounts = $fb->api("/me/accounts");
foreach ($accounts['data'] as $account)
{
    if ($account['id'] == $your_page_id)
    {
        //found the access token, now we can break out of the loop
        $page_access_token = $account['access_token'];
        break;
    }
}

try
{
    //publish a story to the page's wall (as the page)
    $post_id = $fb->api("/{$your_page_id}/feed", "POST", array(
        'message' => "Hello to all my fans, I love you!"
        'access_token'  => $page_access_token;
    ));

    echo "Post published. ID: {$post_id}<br>";

    //create a new event.
    $event_id = $fb->api("/{$your_page_id}/events", "POST", array(
        "name"  => "My Totally Awesome Event, You Better Show UP!",
        "start_time" => time(), //it starts now...duh!
        "location"  => "Anywhere, USA"
    ));

    echo echo "Event created. ID: {$event_id}<br>";
}
catch (Exception $e)
{
    var_dump($e);
}

Что касается создания страниц на лету, то единственный способ сделать это - использовать Open GraphПротокол .Единственным ограничением здесь является то, что страницы должны иметь уникальные URL-адреса.Таким образом, вы можете назначить каждому из ваших объектов Open Graph уникальный идентификатор и дать им URL, например http://www.mysite.com/pages?id=123456.Это позволит вам вывести теги Open Graph, необходимые для создания страницы в FB.Затем вы можете использовать Graph API для получения идентификатора объекта Open Graph после того, как кому-то это нравится, например: http://graph.facebook.com/?ids=http://www.mysite.com/pages?id=123456.

Вы можете публиковать в этих объектах Open Graph точно так же, как и встандартная страница Facebook.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...