2013-04-05 4 views
0

Я пытаюсь использовать GiantBomb api для запроса видеоигр, и в настоящее время, когда я ввожу URL-адрес в браузер, он работает нормально. Появляются данные Json.Почему JSON не возвращается из API GiantBomb

Вот пример URL .. http://www.giantbomb.com/api/search/?api_key=83611ac10d0dfghfgh157177ecb92b0a5a2350c59a5de4&query=Mortal+Kombat&format=json

Но когда я пытаюсь использовать мой PHP обертку, что Im только начинают строить, он возвращает HTML ?? Heres начало моего кода обертки .... (очень любительский пока)

Вы заметите в методе «запрос», Ive прокомментировал возвращение json_decode ($ url), потому что, когда я раскомментирую его , страница выдает ошибку 500 ??? Поэтому я хотел посмотреть, что происходит, когда я просто повторяю это. И это echos html-страница. Конечно, это должно просто отразить то, что показано, когда вы просто вводите этот URL-адрес в браузер, нет?

Однако ... если я заменю URL-адрес, скажем URL-адрес GoogleMap, он точно выберет данные Json, не используя json_decode. Любые идеи о том, что происходит здесь?

class GiantBombApi { 

public $api_key; 
public $base_url; 
public $format; 

function __construct() { 
$this->format="&format=json"; 
$this->api_key = "83611ac10d0d157177ecb92b0a5a2350c59a5de4"; 
$this->search_url = "http://www.giantbomb.com/api/search/?api_key=".$this- >api_key."&query="; 

} 

public function search($query){ 
$query = urlencode($query); 
$url = $this->search_url.$query.$this->format; 
return $this->request($url); 
} 

public function request($url) { 
$response = file_get_contents($url); 
echo $response; 
//return json_decode($response, true); 

     } 
    } 


    //TESTING SECTION 
    $games = new GiantBombApi; 
    $query = $_GET['search']; 
    echo $games->search($query); 

ответ

1

Я побежал несколько запросов через Почтальон, и кажется, что апи смотрит на мим-типа, а также в строке запроса. Поэтому попробуйте настроить заголовок «format» на «json».

+0

Спасибо! Что-то так просто ... даже не подумал об этом .... lol – KyleK

Смежные вопросы