2017-10-14 11 views
0

私はUber Driverです。API Uberでドライバの履歴を取得するPythonコードを開発しています。私は、ドキュメントを見ていると私は、最初のステップの認証に、この最初のコードを書く必要があり:Pythonを使用したUber API無効なスコープエラー

https://api.uber.com/v1/partners/trips 
:あなたが旅行をretriveするために、このエンドポイントを使用する場合、私はそのドキュメントpartner.trips設定した範囲として

from uber_rides.auth import AuthorizationCodeGrant 
auth_flow = AuthorizationCodeGrant(
'my_client_id', 
'partner.trips', 
'my_secret_client', 
'http://localhost:8000' 
) 
auth_url = auth_flow.get_authorization_url().replace('+','') 
print(auth_url) 

が言います

私は、コードを実行したときに、これは、URLの結果である:

https://login.uber.com/oauth/v2/authorize?scope=partner.trips&state=a22YiIePVScRMh12gLbgZFnDK6415HHG&redirect_uri=http%3A%2F%2Flocalhost%3A8000&response_type=code&client_id=my_client_id 

が、私はブラウザにURLを入れたときに、私はこのエラーrecive:

http://localhost:8000/?error=invalid_scope&state=iyzAM1rPWnZDFHqJlXEViTUL3UsLIz2O#_ 

エラーが無効です。私は開発者のダッシュボードを見てきましたが、私はこのスコープを持っていませんが、私はスコープ履歴を持っています。だから、スコープとして歴史を設定した場合、私は、リダイレクトURLにコードを受け取るが、私はトークンを生成し、トークン呼び出し、このエンドポイントを使用するために、このコードを使用している場合:

https://api.uber.com/v1/partners/trips 

を、私はこのエラーをrecive:

{"message":"This endpoint requires at least one of the following scopes: partner.trips, partner.admin_trips.locations, partner.admin_trips","code":"unauthorized"} 

助けてください???私は華麗になってきています。

答えて

0

あなたはpartner.tripsのスコープを持っていないようです。
"私は自分の開発者のダッシュボードを見ましたが、このスコープはありません。"

あなたはこのスコープを持っていないため、表示されるエラーメッセージは正しいとおり:

{「メッセージ」: "このエンドポイントは、以下のスコープの少なくともいずれかが必要です。partner.trips、partner.admin_tripsを.locations、partner.admin_trips "、" code ":" unauthorized "}

ヒストリスコープを入力しても、ドライバAPI partner.tripsスコープにアクセスすることはできません。 https://developer.uber.com/products/driversを介して(現在は限定された)ドライバAPIへのアクセスを申し込むことができます。

関連する問題