我可以使用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公共事件吗?
提前致谢,
答案 0 :(得分:1)
您正在使用的API调用按用户查找事件:
http://developer.eventbrite.com/doc/users/user_list_events/
由于没有提供user_key
或user
字段(这是用户的电子邮件),它实际上没有意义。
如果您想获取公开活动列表,可以使用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)
希望这有助于某人:)