8

这是我第一次玩 api 和 oauth 并且 tumblr 有一个php 客户端。我已经用composer下载并安装了客户端。这是他们必须设置客户端的代码。

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

我知道消费者密钥和秘密,但是如何使用 tumblrs php 客户端获取令牌和令牌秘密?

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

4

1 回答 1

4

就像我们在同一页面中一样,您可以通过浏览器登录流程来获取用户的令牌和密码。Tumblr 的流程与 Twitter 的流程几乎相同,因此您可以将其用作参考:Implementing Sign in with Twitter。您可以查看Tumblr 的身份验证文档中的OAuth部分以获取正确的端点。

请注意,您链接到的Tumblr 的 PHP 客户端将默认基本 url设置为,"http://api.tumblr.com/"而 OAuth 端点(例如request_token)使用"http://www.tumblr.com". 为了能够使用 OAuth 端点,您只需更改基本 url。下面是登录流程第一步的示例,获取请求令牌:

// 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 中的此提交

于 2013-08-12T00:04:21.957 回答