8

api と oauth で遊ぶのはこれが初めてで、tumblr にはphp clientがあります。composerでクライアントをダウンロードしてインストールしました。これは、クライアントをセットアップするために必要なコードです。

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

コンシューマ キーとシークレットは知っていますが、tumblrs php クライアントでトークンとトークン シークレットを取得するにはどうすればよいですか?

oauthのプロセスも知っていますが、実際に実装する方法がわかりません:/

4

1 に答える 1

4

同じページにいるように、ブラウザーのサインイン フロー ダンスを実行することで、ユーザーのトークンとシークレットを取得できます。Tumblr のフローは Twitter のフローとほとんど同じであるため、参考としてこれを使用できます: 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 に答える