gpt4 book ai didi

events - 图形 API - 按所有者/创建者获取事件

转载 作者:行者123 更新时间:2023-11-30 05:16:14 26 4
gpt4 key购买 nike

有没有办法使用 Facebook Graph API 获取由单个配置文件创建的所有事件的列表?我们的客户创建了一堆事件,我们想要列出所有这些事件。我说他们只需要确保他们自己设置为参加事件,因为这样我就可以轻松地提取 profileId 正在参加的事件列表,但我很好奇是否还有其他方法。也许是 FQL 查询?不过,他们看起来需要查询主键。如果这样做的话,FQL 查询会是什么样子??

最佳答案

我基本上使用了@jh​​chen 提供的FQL。但是,我花了大约 6 个小时才弄清楚如何使用该 FQL。所以我想,我会为您提供一个工作脚本。它并不完美,所以如果您发现错误,请更新它。

  1. 下载Facebooks PHP SDK
  2. 添加YOUR_APP_ID
  3. 添加YOUR_APP_SECRET
  4. 添加PAGE_ID
  5. 根据需要对 FQL 语句进行更改。 FQL Documentation

除此之外,您应该一切顺利。此外,我将默认时区设置为 America/Los_Angeles。这可能会给你们中的一些人带来问题,如果有人有更好的方法来处理时区,请告诉我。

PHP 代码:

<?php
require_once("php/facebook.php");

date_default_timezone_set('America/Los_Angeles');

function display_events()
{
$app_id = 'YOUR_APP_ID';
$secret = 'YOUR_APP_SECRET';
$page_id = 'PAGE_ID';

$config = array();
$config['appId'] = $app_id;
$config['secret'] = $secret;
$config['fileUpload'] = false; // optional

$facebook = new Facebook($config);

$fql = 'SELECT
eid,
name,
pic_square,
creator,
start_time,
end_time
FROM event
WHERE eid IN
(SELECT eid
FROM event_member
WHERE uid='.$page_id.'
)
AND end_time >= ' . mktime() . '
ORDER BY start_time ASC
';

$ret_obj = $facebook->api(array(
'method' => 'fql.query',
'query' => $fql,
));

$html = '';
foreach($ret_obj as $key)
{
$facebook_url = 'https://www.facebook.com/event.php?eid=' . $key['eid'];

$start_time = date('M j, Y \a\t g:i A', $key['start_time']);
$end_time = date('M j, Y \a\t g:i A', $key['end_time']);

$html .= '
<div class="event">
<a href="'.$facebook_url.'">
<img src="'.$key['pic_square'].'" />
</a>
<span>
<a href="'.$facebook_url.'">
<h2>'.$key['name'].'</h2>
</a>
<p class="time">'.$start_time.'</p>
<p class="time">'.$end_time.'</p>
</span>
</div>
';
}

echo $html;
}

关于events - 图形 API - 按所有者/创建者获取事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3001385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com