2017-04-08 8 views
1

私は自分自身をuber rush apiで認証しようとしていますが、私はunsupported_grant_typeというエラーメッセージが表示され続けます。私はここで何が間違っているのか分かりません。どんな助けでも本当に感謝しています。ここでoAuth2とカールを使用するとunsupported_grant_typeが引き続き表示されるのはなぜですか?

curl -F "client_secret=<CLIENT_SECRET>" \ 
    -F "client_id=<CLIENT_ID>" \ 
    -F "grant_type=client_credentials" \ 
    -F "scope=delivery" \ 
    https://login.uber.com/oauth/v2/token 

が、私はこれはPOSTを追加する方法ではありませんPHP

$cl = curl_init("https://login.uber.com/oauth/v2/token"); 


curl_setopt($cl,CURLOPT_POST,["client_secret"=>"********"]); 
curl_setopt($cl,CURLOPT_POST,["client_id"=>"**********"]); 
curl_setopt($cl,CURLOPT_POST,["grant_type"=>"client_credentials"]); 
curl_setopt($cl,CURLOPT_POST,["scope"=>"delivery"]); 
$content = curl_exec($cl); 
curl_close($cl); 


var_dump($content); 
+0

誤ったオプションを使用してPOSTパラメータを設定しています。 docsで 'CURLOPT_POST'を検索してください。http://php.net/manual/en/function.curl-setopt.php。リクエストが 'POST'メソッドを使うべきかどうかを示すブール値を期待していることがわかります。 –

答えて

2

でそれを書いたかである:以下は、私はここで

を使用していたコードは次のようにコマンドライン要求が見えるものですデータをcURLに転送します。これらのオプションが実際に意味することを教えてください。PHP documentationがあります。これを代わりに試してみてください:

<?php 
$postdata = [ 
    "client_secret"=>"xxx", 
    "client_id"=>"xxx", 
    "grant_type"=>"client_credentials", 
    "scope"=>"delivery", 
]; 
$cl = curl_init("https://login.uber.com/oauth/v2/token"); 

curl_setopt_array($cl, [ 
    CURLOPT_POST   => true, 
    CURLOPT_POSTFIELDS  => $postdata, 
    CURLOPT_RETURNTRANSFER => true 
]); 
$content = curl_exec($cl); 
curl_close($cl); 
var_dump($content); 
+0

オカイちゃん。私はcURLに慣れていませんが、説明に感謝します! – json2030

関連する問題