Git Product home page Git Product logo

Comments (10)

seejohnrun avatar seejohnrun commented on July 19, 2024

here it is with some modifications (i haven't run this)
look it over and let me know if any questions!

require_once('vendor/autoload.php');

$consumerKey = 'XXX';
$consumerSecret = 'YYY';
$client = new Tumblr\API\Client($consumerKey, $consumerSecret);
$requestHandler = $client->getRequestHandler();
$requestHandler->setBaseUrl('https://www.tumblr.com/');

// If we are visiting the first time
if (!$_GET['oauth_verifier']) {

    // grab the oauth token
    $resp = $requestHandler->request('POST', 'oauth/request_token', array());
    $out = $result = $resp->body;
    $data = array();
    parse_str($out, $data);

    // tell the user where to go
    echo '<a href="https://www.tumblr.com/oauth/authorize?oauth_token=' . $data['oauth_token'].'"> GO </a>';
    $_SESSION['t']=$data['oauth_token'];
    $_SESSION['s']=$data['oauth_token_secret'];

} else {

    $verifier = $_GET['oauth_verifier'];

    // use the stored tokens
    $client->setToken($_SESSION['t'], $_SESSION['s']);

    // to grab the access tokens
    $resp = $requestHandler->request('POST', 'oauth/access_token', array('oauth_verifier' => $verifier));
    $out = $result = $resp->body;
    $data = array();
    parse_str($out, $data);

    // and print out our new keys we got back
    $token = $data['oauth_token'];
    $secret = $data['oauth_token_secret'];
    echo "token: " . $token . "<br/>secret: " . $secret;

    // and prove we're in the money
    $client = new Tumblr\API\Client($consumerKey, $consumerSecret, $token, $secret);
    $info = $client->getUserInfo();
    echo "<br/><br/>congrats " . $info->user->name . "!";

}

from tumblr.php.

GoncaloMiguel avatar GoncaloMiguel commented on July 19, 2024

Thanks a lot that really works !

I just can´t figure...
Are we getting the $data['oauth_token_secret']; from tumblr ?

$resp = $requestHandler->request('POST', 'oauth/access_token', array('oauth_verifier' => $verifier));
$out = $result = $resp->body;
$data = array();
parse_str($out, $data);

// and print out our new keys we got back
$token = $data['oauth_token'];
$secret = $data['oauth_token_secret'];

How can i "save" the access to the app so i don´t need to accept each time i usse my app ?

Thank you so much for your attention and nice work !

Keep on rockin !

from tumblr.php.

seejohnrun avatar seejohnrun commented on July 19, 2024

There are two times you'll see oauth_token and oauth_token_secret. One you get and use with the verifier to exchange for the other - permanent ones. To "save" access you'll want to store these two final ones in the session (under different names than the other ones) and have a third if case that corresponds to when you have them in the session. Then you would load the consumer key, consumer secret, and these two tokens from the session - in order to make requests on behalf of the user

from tumblr.php.

GoncaloMiguel avatar GoncaloMiguel commented on July 19, 2024

Thank you very much John !
Really appreciate your help .
Gonçalo

from tumblr.php.

seejohnrun avatar seejohnrun commented on July 19, 2024

Any time - thank you!

from tumblr.php.

Voyadine avatar Voyadine commented on July 19, 2024

Notice: Undefined index: oauth_verifier on line 10

Anyway to fix this? The Error/Notice starts with the following line:

if (!$_GET['oauth_verifier']) {

Anyways, i was getting a bunch of errors/notices on the callback - just add session_start(); somewhere on the top and works like a charm.

from tumblr.php.

Voyadine avatar Voyadine commented on July 19, 2024

For anyone having the same problem like me, just wrap:

if (!$_GET['oauth_verifier']) {

into an isset:

if (!isset($_GET['oauth_verifier'])) {

Problem solved. No notices!

from tumblr.php.

tmyie avatar tmyie commented on July 19, 2024

This may have been kind of obvious, but this still didn't work until I added session_start(); at the top!

from tumblr.php.

clozeQH avatar clozeQH commented on July 19, 2024

Undefined index: oauth_token
Undefined index: oauth_token_secret

these are the errors that i got after executing the code..anyone has any idea?

from tumblr.php.

mrniamster avatar mrniamster commented on July 19, 2024
$client = new Tumblr\API\Client($consumerKey, $consumerSecret);
$requestHandler = $client->getRequestHandler();
$requestHandler->setBaseUrl('https://www.tumblr.com/');

// If we are visiting the first time
if (!$_GET['oauth_verifier']) {

    // grab the oauth token
    $resp = $requestHandler->request('POST', 'oauth/request_token', array());
    $out = $result = $resp->body;
    $data = array();
    parse_str($out, $data);

    // tell the user where to go
    echo '<a href="https://www.tumblr.com/oauth/authorize?oauth_token=' . $data['oauth_token'].'"> GO </a>';
    $_SESSION['t']=$data['oauth_token'];
    $_SESSION['s']=$data['oauth_token_secret'];

} else {

    $verifier = $_GET['oauth_verifier'];

    // use the stored tokens
    $client->setToken($_SESSION['t'], $_SESSION['s']);

    // to grab the access tokens
    $resp = $requestHandler->request('POST', 'oauth/access_token', array('oauth_verifier' => $verifier));
    $out = $result = $resp->body;
    $data = array();
    parse_str($out, $data);

    // and print out our new keys we got back
    $token = $data['oauth_token'];
    $secret = $data['oauth_token_secret'];
    echo "token: " . $token . "<br/>secret: " . $secret;

    // and prove we're in the money
    $client = new Tumblr\API\Client($consumerKey, $consumerSecret, $token, $secret);
    $info = $client->getUserInfo();
    echo "<br/><br/>congrats " . $info->user->name . "!";

}

Thanks you so much

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.