2012-05-02 2 views
0

Я пытаюсь использовать API Tumblr. Я считаю его JSON. Я пытаюсь получить «posts-total» в URL-адресе ниже, используя Php и повторить его. Как мне это сделать?Tumblr API file_get_contents

http://example.tumblr.com/api/read/json?num=0

Спасибо

Update: 

Я пытаюсь использовать

$result = json_decode(file_get_contents('http://example.tumblr.com/api/read/json?num=0')); 
$print_r($result); 
echo $result[1]; 

Я получаю ошибку 500. Когда я просто пытаюсь вывести $ result, я ничего не получаю.

+0

Я сделал typo- должен быть print_r-, что, вероятно, бросать ошибку 500 .. проблема является URL возвращает переменную с JSON, а не только чисто JSON –

ответ

1

Простой PHP-

$result = json_decode(file_get_contents('http://example.tumblr.com/api/read/json?num=0')); 
print_r($result); //will show contents return in an araay format 
echo $result[1]; //or whatever the element is 
+0

Я получаю ошибку 500. Когда я повторяю только $ result, я ничего не получаю. –

3

У меня была аналогичная проблема, и думаю, что я работал его.

var tumblr_api_read = {"tumblelog":{"title":"Ex-Sample","description":"A sample document used to provide examples of the various [and <i>varying<\/i>] HTML tags Tumblr puts out. Quote, specifically, has a lot of variants.","name":"example","timezone":"US\/Eastern","cname":false,"feeds":[]},"posts-start":0,"posts-total":"20","posts-type":false,"posts":[]}; 

Похоже, что отправленный json назад поддерживает javascript и не является чистым json. Таким образом, у функции json_decode возникает проблема с ее анализом. Похоже, вы можете добавить аргумент debug = 1 в url и получить строку json, с которой может работать PHP.

$result = json_decode(file_get_contents('http://example.tumblr.com/api/read/json?num=0&debug=1')); 
$print_r($result); 
echo $result[1]; 
Смежные вопросы