API-интерфейс last.fm - PullRequest
       28

API-интерфейс last.fm

1 голос
/ 31 января 2011

Я создаю last.fm/ google maps mashup, чертя маркеры карт концертов для любого города, который вы ищете.

API-интерфейс last.fm выглядит следующим образом:

<events location="New York" page="1" totalpages="105" total="1050">
<event>
  <id>640418</id>
  <title>Nikka Costa</title>
  <artists> etc.

В настоящее время вы можете искать, например, Эдинбург - и скоро вернутся первые 10 концертов. Я использую PHP и простой XML для возврата результатов.

Я хочу добавить нумерацию страниц, поэтому первые 10 концертов будут на первой странице; Я хотел бы иметь список других страниц, чтобы пользователи могли рассчитывать на последующие выступления.

Существует много полезных ресурсов для разбивки на страницы mysql / php, но не так много для динамических PHP / XML и API. Как лучше всего подойти к этому?

1 Ответ

3 голосов
/ 31 января 2011

API last.fm допускает параметры, включая номер страницы.Таким образом, вы бы структурировали ваш запрос примерно так:

http://ws.audioscrobbler.com/2.0/?method=geo.getevents&location=new+york&api_key=api key & page = 2

Вы можете передать номер страницы, используя $ _GET в своем PHP-коде и обновитьURL запроса соответственно.

$page = 1;
if (isset($_GET['lfm_pageid'])) {
    $page = $_GET['lfm_pageid'];
}

$lfm_events = new SimpleXMLElement("http://ws.audioscrobbler.com/2.0/?method=geo.getevents&location=new+york&api_key=b25b959554ed76058ac220b7b2e0a026&page=$page", NULL, TRUE);

foreach ($lfm_events->events->event as $event) {
    echo $event->title . '<br />';
}

Это, очевидно, ОЧЕНЬ простой пример без какой-либо обработки ошибок для параметров GET и т. д., не используйте его в работе.

...