Solo così siamo nella stessa pagina, è possibile ottenere segreto token e l'utente passando attraverso la flow-in di accesso con il browser. Il flusso di Tumblr è praticamente lo stesso di Twitter, quindi puoi utilizzarlo come riferimento: Implementing Sign in with Twitter. Puoi vedere la parte OAuth in Tumblr Authentication documentation per ottenere gli endpoint corretti.
Nota che Tumblr's PHP client che si è collegato al ha l'URL di base predefinita insieme ai "http://api.tumblr.com/"
, mentre gli endpoint OAuth (ad esempio request_token
) usare "http://www.tumblr.com"
. Per poter utilizzare gli endpoint OAuth, devi solo modificare l'URL di base. Ecco un esempio della prima fase del flusso di accesso, ricevendo una richiesta di token:
// Requesting for http://www.tumblr.com/oauth/request_token
$client = new Tumblr\API\Client($consumerKey, $consumerSecret);
// Change the base url
$client->getRequestHandler()->setBaseUrl('http://www.tumblr.com/');
$req = $client->getRequestHandler()->request('POST', 'oauth/request_token', [
'oauth_callback' => '...',
]);
// Get the result
$result = $req->body->__toString();
Si dovrebbe ottenere questo $result
:
oauth_token=ulE1EuaZvJSN0qIKfQO5EFgcrxrOLJF0Cnm7VbLQqj66oF9nwt&oauth_token_secret=PLjC7s4JeIlgm53q7FKL1wqQkFoL0775JC6UkHKiepAQ6TxXxp&oauth_callback_confirmed=true
Vai a questa commit in Github per maggiori informazioni su come questo è stato reso possibile.
dopo aver ottenuto la chiave oauth non posso eseguire nessuno dei comandi api come '$ client-> getBlogInfo ($ blogname);'. gira 'Errore irreversibile: Uncaught Tumblr \ API \ RequestException: [404]: Non trovato lanciato in lib \ Tumblr \ API \ Client.php sulla riga 426' che altro mi manca? – Yamiko
@yamikoWebs Dato che hai cambiato 'baseUrl', dovrai cambiarlo di nuovo:' $ client-> getRequestHandler() -> setBaseUrl ('http://api.tumblr.com'); 'oppure tu potrebbe creare un'istanza separata di 'Tumblr \ API \ Client'. – Shiki
è oltre lo scopo di questa domanda, ma come autorizzo in modo che possa inviare post con l'API? – Yamiko