Git Product home page Git Product logo

Comments (1)

jasonpenny avatar jasonpenny commented on August 20, 2024 3

It doesn't look like there's a built-in way to get these values, but you can get them by overriding the requestHandler

<?php
require_once 'vendor/autoload.php';

class RequestHandlerInterceptor extends Tumblr\API\RequestHandler {
    public $rateLimits;

    public function request($method, $path, $options) {
        $result = parent::request($method, $path, $options);

        $this->rateLimits = array();
        foreach ($result->headers as $key => $value) {
            if (substr($key, 0, 6) === 'X-Rate') {
                $this->rateLimits[$key] = $value[0];
            }
        }

        return $result;
    }
}

list($consumerKey, $consumerSecret, $token, $secret) = array(
    '...',
    '...',
    '...',
    '...',
);
$client = new Tumblr\API\Client($consumerKey, $consumerSecret, $token, $secret);
$client->requestHandler = new RequestHandlerInterceptor();
$client->requestHandler->setConsumer($consumerKey, $consumerSecret);
$client->requestHandler->setToken($token, $secret);

$unused = $client->getFollowedBlogs();
//var_dump($unused);
//echo "\n";

echo "---------------------------------------\n";
printf(
    "API Requests Daily Limit:                   %s\n",
    $client->requestHandler->rateLimits['X-Ratelimit-Perday-Limit']
);
printf(
    "API Requests Remaining Today:               %s\n",
    $client->requestHandler->rateLimits['X-Ratelimit-Perday-Remaining']
);
echo "---------------------------------------\n";
printf(
    "API Requests Hourly Limit:                  %s\n",
    $client->requestHandler->rateLimits['X-Ratelimit-Perday-Limit']
);
printf(
    "API Requests Remaining This Hour:           %s\n",
    $client->requestHandler->rateLimits['X-Ratelimit-Perday-Remaining']
);
echo "---------------------------------------\n";
printf(
    "Following API Requests Hourly Limit:        %s\n",
    $client->requestHandler->rateLimits['X-Ratelimit-Api-Following-Limit']
);
printf(
    "Following API Requests Remaining This Hour: %s\n",
    $client->requestHandler->rateLimits['X-Ratelimit-Api-Following-Remaining']
);

from tumblr.php.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.