这是我第一次使用api和oauth,并且tumblr具有php client。我已经下载了Composer并安装了该客户端。这是他们必须设置客户端的代码。

$client = new Tumblr\API\Client($consumerKey, $consumerSecret);
$client->setToken($token, $tokenSecret);

我知道使用者 key 和 secret ,但是如何使用tumblrs php客户端获取 token 和 token secret ?

我也知道oauth的过程,但是我不知道如何实际实现它:/

最佳答案

就像我们在同一个页面上一样,您可以通过浏览器登录流程来获取用户的 token 和密码。 Tumblr的流程与Twitter的流程几乎相同,因此您可以将其用作引用:Implementing Sign in with Twitter。您可以查看Tumblr的Authentication documentation中的 OAuth 部分,以获取正确的端点。

请注意,您链接到的Tumblr's PHP client的默认基本网址设置为"http://api.tumblr.com/",而OAuth端点(例如request_token)则使用"http://www.tumblr.com"。为了能够使用OAuth端点,您只需要更改基本URL。这是登录流程中第一步的示例,获取请求 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();

您应该在$result中得到它:
oauth_token=ulE1EuaZvJSN0qIKfQO5EFgcrxrOLJF0Cnm7VbLQqj66oF9nwt&oauth_token_secret=PLjC7s4JeIlgm53q7FKL1wqQkFoL0775JC6UkHKiepAQ6TxXxp&oauth_callback_confirmed=true

有关如何实现此功能的更多信息,请参见Github中的commit

关于php - 使用tumblrs官方php客户端获取oauth token ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18176109/

10-13 03:40