Tak więc jesteśmy na tej samej stronie, można uzyskać użytkownika tokenu i tajemnicy przechodząc przez Strumień przepływu w przeglądarce. Przepływ Tumblra jest podobny do Twittera, więc możesz go użyć jako odnośnika: Implementing Sign in with Twitter. Możesz przejrzeć część OAuth w Tumblr's Authentication documentation, aby uzyskać prawidłowe punkty końcowe.
Zauważ, że Tumblr's PHP client że związana ma domyślna baza url zestaw do "http://api.tumblr.com/"
natomiast punktów końcowych OAuth (np request_token
) używać "http://www.tumblr.com"
. Aby móc używać punktów końcowych OAuth, wystarczy zmienić podstawowy adres URL. Oto przykład z pierwszego etapu w przepływie logowania, uzyskanie tokenu żądania:
// 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();
powinien dostać to w $result
:
oauth_token=ulE1EuaZvJSN0qIKfQO5EFgcrxrOLJF0Cnm7VbLQqj66oF9nwt&oauth_token_secret=PLjC7s4JeIlgm53q7FKL1wqQkFoL0775JC6UkHKiepAQ6TxXxp&oauth_callback_confirmed=true
Zobacz ten commit w Github, aby uzyskać więcej informacji na temat sposobu to było możliwe.
po otrzymaniu klucza Oauth Nie mogę uruchomić żadnego z poleceń api, takich jak '$ client-> getBlogInfo ($ blogname);'. rzuca "Błąd krytyczny: Uncaught Tumblr \ API \ RequestException: [404]: Nie znaleziono w lib \ Tumblr \ API \ Client.php na linii 426" czego jeszcze brakuje? – Yamiko
@yamikoWebs Ponieważ zmieniłeś 'baseUrl', będziesz musiał zmienić to z powrotem:' $ client-> getRequestHandler() -> setBaseUrl ('http://api.tumblr.com'); 'lub ty może utworzyć osobną instancję 'Tumblr \ API \ Client'. – Shiki
wykracza poza zakres tego pytania, ale w jaki sposób mogę autoryzować, aby móc przesyłać posty za pomocą interfejsu API? – Yamiko