使用PHP管理Facebook页面

使用PHP管理Facebook页面,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我希望通过粉丝页面将我当前的网站与Facebook进行更深入的整合(注意:我注意到了Facebook支持的开放图形协议,但我希望创建一个网站范围的粉丝页面)。 我知道你可以使用Facebook创建和管理粉丝页面,但我正在寻找一种使用PHP脚本实现这一点的方法——例如,发布到粉丝页面的墙上,使用粉丝页面创建事件,理想情况下——动态创建二级粉丝页面。 在查看了Facebook的开发者部分后,我没有找到使用Facebook API从外部执行这些任务的方法。 所以我的问题是:你将如何做到这一点 谢谢 将

我希望通过粉丝页面将我当前的网站与Facebook进行更深入的整合(注意:我注意到了Facebook支持的开放图形协议,但我希望创建一个网站范围的粉丝页面)。
我知道你可以使用Facebook创建和管理粉丝页面,但我正在寻找一种使用PHP脚本实现这一点的方法——例如,发布到粉丝页面的墙上,使用粉丝页面创建事件,理想情况下——动态创建二级粉丝页面。
在查看了Facebook的开发者部分后,我没有找到使用Facebook API从外部执行这些任务的方法。
所以我的问题是:你将如何做到这一点


谢谢

将帖子发布到页面和创建事件都是相对简单的任务。您可以使用

具体查看有关的区域。它为您提供了发布工作原理的一般概述,这可以应用于整个图形

另外,关于Graph API部分的文档中有一个示例,介绍了如何通过Graph API创建新事件

在Facebook页面上发布任何内容都需要您拥有
管理页面
,并且获得
离线访问
权限可能也是一个好主意

发布到页面墙和创建事件(在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);
}

将文章发布到页面和创建事件都是相对简单的任务。您可以使用

具体查看有关的区域。它为您提供了发布工作原理的一般概述,这可以应用于整个图形

另外,关于Graph API部分的文档中有一个示例,介绍了如何通过Graph API创建新事件

在Facebook页面上发布任何内容都需要您拥有
管理页面
,并且获得
离线访问
权限可能也是一个好主意

发布到页面墙和创建事件(在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);
}

回答得很好,但我有两个问题:1)您是否必须将您的私人帐户与该页面关联才能对其进行管理?2)如果打开的图形页面没有任何相关帐户,你应该如何管理这些页面?@GZaidman-如果你管理Facebook上的页面(而不是图形页面),你的“私人”帐户必须是该页面的管理员。此外,您必须拥有将用于管理“私人”帐户上安装的页面的任何应用程序。对于OG页面,您可以在Graph(meta)标记中设置应用程序ID,以便FB知道哪个页面可以管理它(请参阅)。值得注意的是,无论哪种情况,你的FB帐户都必须安装你的应用程序。它似乎混合了$facebook和$fbgood catch@Henry,有趣的是,一年多以来都没有人发现这一点!我继续并修正了这个问题,答案很好,但我有两个问题:1)你是否必须将你的私人帐户与页面关联才能管理它?2)如果打开的图形页面没有任何相关帐户,你应该如何管理这些页面?@GZaidman-如果你管理Facebook上的页面(而不是图形页面),你的“私人”帐户必须是该页面的管理员。此外,您必须拥有将用于管理“私人”帐户上安装的页面的任何应用程序。对于OG页面,您可以在Graph(meta)标记中设置应用程序ID,以便FB知道哪个页面可以管理它(请参阅)。值得注意的是,无论哪种情况,你的FB帐户都必须安装你的应用程序。它似乎混合了$facebook和$fbgood catch@Henry,有趣的是,一年多以来都没有人发现这一点!我继续把它修好了