2016-07-22 13 views
1

Indian Marketplace Flipkartから提供されているAPIからアクセストークンを取得しようとしていましたが、パールSSHでカールコードを実行するとアクセストークンを受け取ることができますが、 PHPから同じことが私に400エラーを与えています。PHP Curl Basic OAuthアクセストークンの取得

SSHで使用されるコード(この作品)

curl -u appid:appsecret https://api.flipkart.net/oauth-service/oauth/token\?grant_type\=client_credentials\&scope=Seller_Api 

は私が応答

{"access_token":"1111-xxxx-22222","token_type":"bearer","expires_in":4926731,"scope":"Seller_Api"} 

得るが、私は(私はオンラインのみ学んだ)PHPカールを使用して同じことを達成しようとすると、私は400を取得しますエラー

PHPコードに使用され(これDoes'nt作業)

<?php 
$username='appid'; 
$password='appsecret'; 
$url='https://api.flipkart.net/oauth-service/oauth/token\?grant_type\=client_credentials\&scope=Seller_Api'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
$output = curl_exec($ch); 
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get status code 
$info = curl_getinfo($ch); 
curl_close($ch); 

if(curl_errno($ch)){ 
    echo 'Curl error: ' . curl_error($ch); 
} 
print_r($output); 
echo $status_code; 
?> 

悪い要求である400(ステータスコード)ではなく、他の出力はありません。

私は近くにいることを知っています、私は何が間違っているのか分かりません。 ご協力いただければ幸いです。

PS:あなたは私たちはPHPのカールを使用して同じことをしようとするとき、彼らは彼らのドキュメントに記載されているURLは機能しません。私は最終的に問題を解決することができましたここではAPIのドキュメントhttps://seller.flipkart.com/api-docs/FMSAPI.html#third-party-application-integration

+1

待機 - 400または404エラーが発生しますか?あなたの質問は両方とも – WillardSolutions

+0

私の悪い唯一の400エラー、私はそれを修正します。 –

+0

この行 - > 'curl_setopt($ curl、CURLOPT_FOLLOWLOCATION、true);'。 '$ curl 'ではなく' $ ch'を使用してください – WillardSolutions

答えて

0

を見つけることができます。

、URLのフレージングが

ので、URLがされている必要があります $のURL = 'https://api.flipkart.net/oauth-service/oauth/token?grant_type=client_credentials&scope=Seller_ApiのPHPの場合で異なっています。

と私は私のアクセストークンを持っています。

PS:私はちょっと待っていて、周りを見回す前に質問をするのが早すぎるとは思わない、同じ問題と戦うのは2日目です。しかし、今日は運が良かった;)

関連する問題