使用Eventbrite PHP API列出公共事件

时间:2013-04-16 16:02:35

标签: php api eventbrite

我可以使用Eventbrite PHP API和sample events list code显示我的事件列表。这是提供身份验证的方式:

$authentication_tokens = array('app_key' => 'YOUR_APP_KEY',
                               'user_key' => 'YOUR_USER_KEY');

我从Eventbrite文档中了解到,您可以通过不提供身份验证令牌来优化列表以仅显示公共事件。但是,如果我排除:

,'user_key' => 'YOUR_USER_KEY' 

我收到以下错误消息:

Fatal error: Uncaught exception 'Exception' with message 'Invalid email address . [None]'.... 

有人可以建议如何仅通过不提供身份验证令牌来显示eventbrite公共事件吗?

提前致谢,

2 个答案:

答案 0 :(得分:1)

您正在使用的API调用按用户查找事件

http://developer.eventbrite.com/doc/users/user_list_events/

由于没有提供user_keyuser字段(这是用户的电子邮件),它实际上没有意义。

如果您想获取公开活动列表,可以使用event_search API:

http://developer.eventbrite.com/doc/events/event_search/

curl http://www.eventbrite.com/json/event_search -G -d app_key=$EB_APP_KEY

所有字段都是可选字段,因此只需将所有字段都删除,您就可以有效地获取公共事件列表。

答案 1 :(得分:0)

对于其他想要实现相同目标的人,我想我会列出一些示例代码:

<!DOCTYPE HTML>
<html>
<head>
  <title>Eventbrite</title>

 <meta charset="UTF-8">

 </head>
 <body>

 <?php
 // load the API Client library
 include "eventbrite.php";

 // Initialize the API client
 // Eventbrite API / Application key (REQUIRED)
 // http://www.eventbrite.com/api/key/
 // Eventbrite user_key (OPTIONAL, only needed for reading/writing private user data)
 // http://www.eventbrite.com/userkeyapi
 $authentication_tokens = array('app_key' => 'YOURAPPKEYGOESHERE',
                                'user_key' => 'YOURUSERKEYGOESHERE');
 $eb_client = new Eventbrite( $authentication_tokens );

 // For more information about the features that are available through the Eventbrite API, see      http://developer.eventbrite.com/doc/
 // $events = $eb_client->user_list_events();

 $search_params = array(
     'organizer' => 'YOURORGANISERNAMEGOESHERE',
     'sort_by' => 'date',
 );
 $resp = $eb_client->event_search( $search_params );

 //mark-up the list of events that were requested
 // render in html - ?>
 <style type="text/css">
 .eb_event_list_item{
   padding-top: 20px;
 }
 .eb_event_list_title{
   position: absolute;
   left: 300px;
   width: 300px;
   overflow: hidden;
 }
 .eb_event_list_date{
   padding-left: 20px;
 }
 .eb_event_list_time{
   position: absolute;
   left: 200px;
 }
 .eb_event_list_location{
   position: absolute;
   left: 620px;
 }
 </style>

 <h1>My Event List:</h1>
 <?= Eventbrite::eventList( $resp, 'eventListRow'); ?>  

 </body>
 </html>

如果要更改数据的返回方式,请编辑eventbrite.php页面。例如,我想在日期中包含年份,因此我编辑了第258行,将strftime更改为

 strftime('%a, %e, %B, %Y', $time)

希望这有助于某人:)