2013-08-11 2 views
8

これは私のapiとoauthで初めて遊んで、tumblrはphp clientです。私は作曲家にクライアントをダウンロードしてインストールしました。これは、クライアントを設定するためのコードです。tumblrs公式PHPクライアントでoauthトークンを取得

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

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

私ものOAuthのプロセスを知っているが、私は実際にそれを実装する方法がわからない:/

答えて

4

だけので、我々は同じページにいる、あなたはを経てユーザーのトークンとシークレットを取得することができますブラウザのサインインフローダンス。 Tumblrの流れはTwitterとほとんど同じだから、これを参照のために使うことができる:Implementing Sign in with TwitterOAuthの部分をTumblrのAuthentication documentationに表示して、正しいエンドポイントを取得することができます。あなたがにリンクされTumblr's PHP clientはOAuthのエンドポイントに対し"http://api.tumblr.com/"からセット(例えばrequest_token"http://www.tumblr.com"を使用デフォルトのベースURLを持っていることを

は注意してください。 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の中で、このcommitを参照してください。これは可能になった。

+0

私はoauthキーを取得した後、 '$ client-> getBlogInfo($ blogname);'のようなapiコマンドを実行することはできません。 '致命的なエラー:Uncaught Tumblr \ API \ RequestException:[404]:426行目のlib \ Tumblr \ API \ Client.phpにスローされていません。 – Yamiko

+1

@yamikoWebs 'baseUrl'を変更したので、' $ client-> getRequestHandler() - > setBaseUrl( 'http://api.tumblr.com');または別の 'Tumblr \ API \ Client'インスタンスを作成できます。 – Shiki

+0

この質問の範囲を超えていますが、私はどのように私はapiと投稿を提出することができます許可するのですか? – Yamiko

関連する問題