2012-02-15 2 views
0

カスタムMagentoモジュールの一部としてZend_Oauthを使用してdiscogs.com apiに接続しようとしています。Zend_Oauthを使ってDiscogs APIに接続するには?

DiscogsのAPIの詳細はここにある:...

introduction

推奨コードは次のとおりです。

accessing

oauth

は、私はここのZendのOauthを使用するための詳細を追ってきました

(Disのテストアカウントを設定しましたここで鍵と秘密ので、コグは正しいと住んでいるとテストすることができます)

$config = array(
    'callbackUrl' => 'http://www.example-discogs-app.co.uk', 
    'siteUrl' => 'http://api.discogs.com/oauth', 
    'consumerKey' => 'qvJGTkWsbVMGZGYCHCrQ', 
    'consumerSecret' => 'iBMnIrhFzoHjqaiVbkhhrmipzcaBwBCc' 
    ); 
$consumer = new Zend_Oauth_Consumer($config); 

// fetch a request token 
$token = $consumer->getRequestToken(); 

// persist the token to storage 
$_SESSION['DISCOGS_REQUEST_TOKEN'] = serialize($token); 

// redirect the user 
$consumer->redirect(); 

私は、リクエストトークンを取得しにリダイレクト:。api.discogs.com/oauth/authorize?oauth_token=xyzrequesttoken

これにより

が表示さ:

"{" メッセージ ": "要求されたリソースが見つかりませんでした。"}"

NB:私はTwitterのAPI Oaのに対して、同じコードを実行すると、関連するアカウントのキーの詳細が表示され、アクセス確認のためにtwitterにリダイレクトされます。

私は様々な$ config設定を試したことがあります。 requestScheme、requestMethod ,.

私はそれが必要なヘッダと関係すると思ったので、$ consumer-> redirect();を置き換えてみました。次... ($トークンは上記の$トークン応答から抽出された)

$client = new Zend_Http_Client(); 
$client->setHeaders('Content-Type: application/json'); 
$client->setHeaders('User-Agent: +Xyz'); 
$client->setUri('http://api.discogs.com/oauth/authorize?oauth_token='.$token); 
$client->setMethod(Zend_Http_Client::POST); 
$response = $client->request(); 

と私は同じ応答を得る:

「{」メッセージ「:」要求されたリソースがありませんでした見つかりました。}}」

ご協力いただければ幸いです。

答えて

0

discogsの人々が働き、正しい設定は次のようになりますので、AUTHORIZEのURLは、API WWWないでなければならないことを指摘種類:

$config = array(
     'callbackUrl' => http://www.example-discogs-app.co.uk, 
     'consumerKey' => 'tJOGhRhfsCQKnGCaOZin', 
     'consumerSecret' => 'dxyrhywgvMgVqrZsmncCrQyAXnRHwZVq', 
     'requestTokenUrl' => 'http://api.discogs.com/oauth/request_token', 
     'authorizeUrl' => 'http://www.discogs.com/oauth/authorize', 
     'accessTokenUrl' => 'http://api.discogs.com/oauth/access_token', 
    ); 
関連する問題