I am using the Tumblr api v2 with php, it's work but this code :
<?php
require 'vendor/autoload.php';
// Authenticate via OAuth
$client = new Tumblr\API\Client(
'my',
'key',
'is',
'good'
);
// Make the request
$post=$client->getUserInfo();
echo(json_encode($post));
?>
would be like this (https://api.tumblr.com/console)
{
"meta": {
"status": 200,
"msg": "OK"
},
"response": { ... }
}
and I've got the response part only with no meta :
{"user":{"name":"my name","likes":0,… }}
How can I get the meta ? I try $post->meta and $client->meta but this is stupid tests…
The key is lines 383 and 421 of Client.php
private function getRequest($path, $options, $addApiKey)
{
$response = $this->makeRequest('GET', $path, $options, $addApiKey);
return $this->parseResponse($response);
}
AND
private function parseResponse($response)
{
$response->json = json_decode($response->body);
if ($response->status < 400) {
return $response->json->response;
} else {
throw new RequestException($response);
}
}
Every call you make gets parsed before you get it. You will only get the response, never the meta unless there is an error, in which case you will get an exception.
So, read the code before saying "this is stupid".