Мы проводим конкурс на этой неделе с нашими друзьями из Box, поэтому я подумал, что напишу быстрое руководство о том, как начать использовать Box API в PHP. В этом коротком руководстве мы создадим простое приложение, которое добавляет комментарии к файлу по SMS.
Чтобы начать, вам нужно настроить свой проект в Box. Перейдите по адресу http://www.box.net/developers/services и нажмите кнопку «Create New Application» в правом верхнем углу страницы.
Теперь перейдем к коду. Сначала загрузите библиотеку помощника Box для PHP. После распаковки вам нужно сделать одну незначительную правку в файле boxlibphp5.php. Отредактируйте строку 33 и измените var $_debug на false. Загрузите файлы boxlibphp5.php и class.curl.php на свой сервер (файл box_config.php не нужен, мы сами позаботимся об этом). Создайте файл с именем index.php и вставьте в него:
require_once(‘boxlibphp5.php’);
$api_key = ‘XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX’;
$auth_token = ”;
$box = new boxclient($api_key, $auth_token);
$ticket_return = $box->getTicket();
if ($box->isError())
{
echo $box->getErrorMsg();
}
else {
$ticket = $ticket_return[‘ticket’];
}
// Если токен аутентификации не был сохранен ранее, пользователь должен войти в систему.
if ($ticket && ($auth_token == ”) && ($_REQUEST[‘auth_token’]))
{
$auth_token = $_REQUEST[‘auth_token’];
}
else if ($ticket && ($auth_token == ”))
{
$box->getAuthToken($ticket);
}
// Сохраните токен аутентификации в файл (не делайте этого в производстве)
file_put_contents(‘creds.txt’, $auth_token);
$box = new boxclient($api_key, $auth_token);
$tree = $box->getAccountTree();
// Выведите дерево файлов в выходные данные
print_r($tree);
?>
Убедитесь, что вы заменили $api_key на свой ключ API.
Когда вы перейдете по адресу index.php, вас перенаправят на Box, где вас попросят войти в систему и добавить свое приложение. Как только вы это сделаете, вас перенаправят обратно на index.php, токен аутентификации будет сохранен в файле creds.txt, и вы получите вывод дерева файлов вашего аккаунта Box. Если это новый аккаунт для вас, он будет пустым. Загрузите файл и обновите страницу. Обратите внимание на идентификатор файла, который вы хотите прокомментировать. Он будет выглядеть примерно так: 869161393.
(Примечание: код не содержит всех колокольчиков и свистков, таких как правильное хранение токена аутентификации, красивые макеты и фактическое разрешение пользователям выбирать файл элегантно, потому что я хотел сохранить фокус на работе с API. Убедитесь, что вы нарядили его в своем приложении.)
Далее создайте файл с именем handle-incoming-sms.php и вставьте в него:
header(‘Content-type: text/xml’);
require_once(‘boxlibphp5.php’);
$api_key = ‘XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX’;
$auth_token = file_get_contents(‘creds.txt’);
$box = new boxclient($api_key, $auth_token);
$params = array(‘api_key’ => $api_key,
‘auth_token’ => $auth_token,
‘target’ => ‘file’,
‘target_id’ => ‘XXXXXXXXX’,
‘message’ => $_REQUEST[‘Body’]
);
$response = $box->makeRequest(‘action=add_comment’, $params);
if ($response[1][‘value’] == ‘add_comment_ok’)
{
echo ‘Комментарий добавлен!’;
}
else {
echo ‘Ой, произошла ошибка — неудача.’;
}
?>
Замените $api_key на свой ключ API и target_id на идентификатор файла, который вы хотите прокомментировать. Получите номер телефона Twilio и установите его URL SMS на handle-incoming-sms.php, и теперь вы можете прокомментировать файл по SMS!
Теперь идите и создайте что-то крутое, используя Twilio и Box, и вы можете выиграть MacBook Air, Galaxy Tab или Parrot AR Drone в этом недельном конкурсе!