Comments (10)
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.
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.
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.
Thank you very much John !
Really appreciate your help .
Gonçalo
from tumblr.php.
Any time - thank you!
from tumblr.php.
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.
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.
This may have been kind of obvious, but this still didn't work until I added session_start(); at the top!
from tumblr.php.
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.
$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)
- Response to a Submission HOT 1
- followed
- Tumblr oauth not working in Laravel 6.5.2
- Encountere a error during handling Response in PHP HOT 1
- Encountered an Exception handling HOT 1
- How to check if a post is reblogged ?
- Is this package deprecated? HOT 6
- Is there a version of this package that supports NPF(Neue Post Format)?
- Missing or invalid request token. HOT 1
- Neue Post HOT 5
- compatibility issue with php8.2 HOT 1
- What file do I have to include in my php file HOT 2
- Bad Request (You may only upload one video per post.) HOT 1
- RATE LIMITING HEADERS HOT 1
- Rate limit exceeded HOT 1
- Reblog post Unauthorized ? HOT 1
- oauth 403 error ? HOT 2
- some blogs returns 404 HOT 11
- How to get video post URL HOT 3
- get list of users who liked post
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tumblr.php.