【问题标题】:Creating Facebook event for specific page with FB Graph API使用 FB Graph API 为特定页面创建 Facebook 事件
【发布时间】:2011-04-23 19:35:03
【问题描述】:

我需要将 CMS 中的事件同步到 Facebook 特定页面。我正在尝试为我创建的页面创建一个事件,但仍然没有结果。我可以简单地创建与用户相关的事件,而不是与页面相关的事件。代码使用Facebook PHP-SDK

$page_id = '31337';
$page = $facebook->api("/{$page_id}");
$event_data = array(
    'name'          => 'Event: ' . date("H:m:s"),
    'start_time'    => time() + 60*60,
    'end_time'      => time() + 60*60*2,
    'owner'         => $page
);
$post = $facebook->api("/{$page_id}/events", 'POST', $event_data);

执行此 sn-p 后,会创建事件,但正如我之前所说,它属于用户,尽管给定数据中的“所有者”是页面。我的应用具有 manage_pages、create_event 和 publish_stream 权限。我错过了什么?

解决方案

"OLD REST API" 文档中我发现“新图形API”仍然需要参数page_id。所以变量 $event_data 应该如下所示:

$event_data = array(
    'name'          => 'Event: ' . date("H:m:s"),
    'start_time'    => time() + 60*60,
    'end_time'      => time() + 60*60*2,
    'page_id'       => $page['id]
);

【问题讨论】:

  • 谢谢伙计!你刚刚帮了我! :)

标签: php facebook facebook-graph-api


【解决方案1】:

«如果应用程序具有该用户的活动会话密钥,则代表该用户创建一个事件;否则它会代表应用程序创建一个事件。» — Source

这能回答你的问题吗?

【讨论】:

  • 谢谢回答,但实际上不是。当用户未登录时,将在应用程序页面创建事件。但不是在特定页面,我有哪个 id。
  • 但是在您给定的链接中,我找到了解决方案:“page_id 参数可用于为组和页面生成事件。”。奇怪的是,“新图形 API”文档缺少有关“旧 REST API”中描述的 page_id 参数的信息。
  • 那太好了 :) Facebook 的文档远非像样的,您现在可能已经知道...
【解决方案2】:

有趣——我的经历正好相反。我尝试使用 page_id 参数创建事件并收到权限错误。删除了 page_id,它工作正常。诀窍是使用应用程序访问令牌而不是用户令牌。

【讨论】:

  • 您必须为您的应用程序设置权限列表。 developers.facebook.com/docs/authentication/permissions 'manage_pages' 权限其实就是你需要的。
  • 不是这样 - 我的页面是由我的应用程序而不是用户创建的,因此不涉及 manage_pages 权限。由于某种原因,指定 page_id 会导致 API 调用失败,删除它可以正常工作。
【解决方案3】:

您需要传递托管页面的访问令牌,您可以从 graph.facebook.com/me/account 获取该令牌(当然传递您的访问令牌以获取您管理的粉丝页面列表)。您将在那里看到每个粉丝页面的访问令牌列表,使用这些令牌创建活动或发布到您的粉丝页面。

【讨论】:

    【解决方案4】:

    在发帖前将 access_token 设置为第一页。确保您的应用具有“manage_pages”权限才能使其正常工作。

    像这样:

    $page = $fbApi->api('/'.<page_id>,'GET',array('fields'=> 'access_token'));
    $fbApi->setAccessToken($page['access_token']);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 2019-04-29
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多