2016-11-24 5 views
1

Uber ApiでキャブをPythonでリクエストしているときに直面して問題が発生しました。 これは私が従った手順です:Uber API client.request_rideメソッドでエラーが発生しました

  1. 私のserver_tokenでセッションを作成しています。
  2. 私の資格情報による認証。
  3. authorization_urlとユーザー認証が取得されました。
  4. 私はユーザー認証から取得したセッションを持つオブジェクトを作成しました。

    クレデンシャル=乗るためnew_session.oauth2credential

  5. 推定:

    推定値= client.estimate_ride(PRODUCT_ID = PRODUCT_ID、 start_latitude = xx.xxx

  6. は、方法を使用して資格情報を手に入れました、start_longitude = xx.xxx、end_latitude = xx.xxx、end_longitude = xx.xxx)

  7. フェッチ料金金額:

    運賃= estimate.json.get( '料理')

  8. 私はコードの下での乗り心地を要求し、例外を取得しよう:

    応答= client.request_ride(PRODUCT_ID = PRODUCT_ID、 start_latitude = xx.xxx、start_longitude = xx.xxx、end_latitude = xx.xxx、end_longitude = xx.xxx、fare_id = fare.get( 'fare_id'))

  9. 例外:

    ClientError:401:このエンドポイントには、次のスコープの少なくとも1つが必要です。request.del egate.tos_accept、request、request.delegate

私はどこが間違っているのか教えてください。私は一歩を逃したのですか?

ありがとうございます。

答えて

3

トークンの作成時に「要求」特権スコープを追加する必要があります。

from uber_rides.auth import AuthorizationCodeGrant 
auth_flow = AuthorizationCodeGrant(
    <CLIENT_ID>, 
    <SCOPES>, 
    <CLIENT_SECRET>, 
    <REDIRECT_URI> 
) 
auth_url = auth_flow.get_authorization_url() 

詳細はpython ride requests tutorialを参照してください。

関連する問題