2016-09-13 5 views
0

Uber ride request widgetをクリックするとメッセージが表示されます。私はこれと同じコードをlinkと別のアプリとその動作で使用しました。私はここで何か間違っていますか?私は別のclient_idとserver_tokenを試しましたが、同じ結果が得られました。私はピックアンドドロップの場所が遠すぎるかもしれないと思ったので、近くにある場所を編集しても同じ反応を得ました。 enter image description hereUber sdkの統合エラー

答えて

0

エラー

private static final String CLIENT_ID = "<MY_CLIENT_ID>"; 
 
private static final String REDIRECT_URI = "https://www.google.com"; 
 
private static final String SERVER_TOKEN = "<MY_SERVER_TOKEN>"; 
 

 
@Override 
 
protected void onCreate(final Bundle savedInstanceState) { 
 

 
\t GPSTracker gpsTracker = new GPSTracker(this); 
 

 
\t \t PICKUP_LAT = gpsTracker.getLatitude(); 
 
\t \t PICKUP_LONG = gpsTracker.getLongitude(); 
 

 

 
\t \t System.out.println("picklatlng"+ " "+PICKUP_LAT + " " +PICKUP_LONG); 
 

 
\t \t LocationAddress locationAddress = new LocationAddress(); 
 
\t \t locationAddress.getAddressFromLocation(PICKUP_LAT, PICKUP_LONG, getApplicationContext(), new GeocoderHandler()); 
 

 
\t \t fetchdrop(); 
 

 

 

 
} 
 

 
private void fetchdrop(){ 
 
\t \t String url = getResources().getString(R.string.app_base_url)+ "&action=eventdetails&id=" + product_id; 
 
\t \t StringRequest stringRequest = new StringRequest(Request.Method.GET, url, 
 
\t \t \t \t new Response.Listener<String>() { 
 
\t \t \t \t \t @Override 
 
\t \t \t \t \t public void onResponse(String response) { 
 

 

 
\t \t \t \t \t \t try { 
 
\t \t \t \t \t \t \t JSONObject jObj = new JSONObject(response); 
 
\t \t \t \t \t \t \t JSONArray jArray = jObj.getJSONArray("EventsList"); 
 
\t \t \t \t \t \t \t for(int i=0;i<jArray.length();i++){ 
 
\t \t \t \t \t \t \t \t JSONObject main = jArray.getJSONObject(i); 
 

 
\t \t \t \t \t \t \t \t drop_nick = main.getString("app_venue").trim(); 
 
\t \t \t \t \t \t \t \t drop_addr = main.getString("app_location"); 
 
\t \t \t \t \t \t \t \t drop_lat= Double.parseDouble(main.getString("app_lat")); 
 
\t \t \t \t \t \t \t \t drop_lng = Double.parseDouble(main.getString("app_lang")); 
 
\t \t \t \t \t \t \t \t System.out.println("UberSAM_dropdetails" + " "+ drop_nick +" "+drop_addr+" "+drop_lat+" "+drop_lng); 
 
\t \t \t \t \t \t \t \t uberConfig(); 
 
\t \t \t \t \t \t \t } 
 

 

 

 

 
\t \t \t \t \t \t } catch (JSONException e) { 
 
\t \t \t \t \t \t \t // JSON error 
 
\t \t \t \t \t \t \t e.printStackTrace(); 
 
\t \t \t \t \t \t \t Toast.makeText(Event_Details_Activity.this, "Json error: " + e.getMessage(), Toast.LENGTH_LONG).show(); 
 
\t \t \t \t \t \t } 
 

 
\t \t \t \t \t } 
 
\t \t \t \t }, new Response.ErrorListener() { 
 
\t \t \t @Override 
 
\t \t \t public void onErrorResponse(VolleyError error) { 
 
\t \t \t \t Toast.makeText(Event_Details_Activity.this, "VolleyError" + error.toString(), Toast.LENGTH_LONG).show(); 
 

 
\t \t \t } 
 
\t \t }) { 
 
      /*@Override 
 
      protected Map<String, String> getParams() { 
 
       Map<String, String> params = new HashMap<String, String>(); 
 

 

 
       return params; 
 
      }*/ 
 

 
\t \t }; 
 

 
\t \t RequestQueue requestQueue = Volley.newRequestQueue(Event_Details_Activity.this); 
 
\t \t requestQueue.add(stringRequest); 
 

 

 
} 
 

 
private void uberConfig() { 
 

 
\t \t SessionConfiguration configuration = new SessionConfiguration.Builder() 
 
\t \t \t \t .setRedirectUri(REDIRECT_URI) 
 
\t \t \t \t .setClientId(CLIENT_ID) 
 
\t \t \t \t .setServerToken(SERVER_TOKEN) 
 
\t \t \t \t .build(); 
 

 

 

 
\t \t validateConfiguration(configuration); 
 
\t \t ServerTokenSession session = new ServerTokenSession(configuration); 
 

 
\t \t Log.e("EventDetailActivity", "session:" + session.getAuthenticator()); 
 

 

 
\t \t System.out.println("UberSAM"+" "+"DROPOFF_ADDR:"+" "+drop_addr); 
 
\t \t System.out.println("UberSAM"+" "+"DROPOFF_NICK:"+" "+drop_nick); 
 
\t \t System.out.println("UberSAM"+" "+"DROPOFF_LAT:"+" "+drop_lat); 
 
\t \t System.out.println("UberSAM"+" "+"DROPOFF_LONG:"+" "+drop_lng); 
 

 
\t \t System.out.println("UberSAM"+" "+"PICKUP_ADDR:"+" "+PICKUP_ADDR); 
 
\t \t System.out.println("UberSAM"+" "+"PICKUP_NICK:"+" "+PICKUP_NICK); 
 
\t \t System.out.println("UberSAM"+" "+"PICKUP_LAT:"+" "+PICKUP_LAT); 
 
\t \t System.out.println("UberSAM"+" "+"PICKUP_LONG:"+" "+PICKUP_LONG); 
 

 
\t \t RideParameters rideParametersForProduct = new RideParameters.Builder() 
 
\t \t \t \t //.setProductId(UBERX_PRODUCT_ID) 
 
\t \t \t \t .setPickupLocation(PICKUP_LAT, PICKUP_LONG, PICKUP_NICK, PICKUP_ADDR) 
 
\t \t \t \t .setDropoffLocation(drop_lat, drop_lng, drop_nick, drop_addr) 
 
\t \t \t \t .build(); 
 

 
\t \t RideRequestButton blackButton = (RideRequestButton) findViewById(R.id.uber_button_white_1); 
 

 
\t \t RideRequestActivityBehavior rideRequestActivityBehavior = new RideRequestActivityBehavior(this, 
 
\t \t \t \t WIDGET_REQUEST_CODE, configuration); 
 

 

 

 
\t \t blackButton.setRequestBehavior(rideRequestActivityBehavior); 
 
\t \t blackButton.setRideParameters(rideParametersForProduct); 
 
\t \t blackButton.setSession(session); 
 
\t \t blackButton.loadRideInformation(); 
 
\t \t blackButton.setCallback(this); 
 

 

 
} 
 

 
private void validateConfiguration(SessionConfiguration configuration) { 
 
\t \t String nullError = "%s must not be null"; 
 
\t \t String sampleError = "Please update your %s in the gradle.properties of the project before " + 
 
\t \t \t \t "using the Uber SDK Sample app. For a more secure storage location, " + 
 
\t \t \t \t "please investigate storing in your user home gradle.properties "; 
 

 
\t \t checkNotNull(configuration, String.format(nullError, "SessionConfiguration")); 
 
\t \t checkNotNull(configuration.getClientId(), String.format(nullError, "Client ID")); 
 
\t \t checkNotNull(configuration.getRedirectUri(), String.format(nullError, "Redirect URI")); 
 
\t \t checkNotNull(configuration.getServerToken(), String.format(nullError, "Server Token")); 
 
\t \t checkState(!configuration.getClientId().equals("insert_your_client_id_here"), 
 
\t \t \t \t String.format(sampleError, "Client ID")); 
 
\t \t checkState(!configuration.getRedirectUri().equals("insert_your_redirect_uri_here"), 
 
\t \t \t \t String.format(sampleError, "Redirect URI")); 
 
\t \t checkState(!configuration.getRedirectUri().equals("insert_your_server_token_here"), 
 
\t \t \t \t String.format(sampleError, "Server Token")); 
 
}
はユーバーのアプリ(ウィジェットを実装する)での認証に使用するアカウント、すでに別のアプリの中から乗り心地を開始したことを示しています。 The widget leverages the ride_widgets scopeですが、別のアプリでリクエストされた旅行へのアクセスは含まれていません。現在の既存の旅行を終了してもう一度やり直すことができます。ウィジェットは期待どおりに動作するはずです。

FYI、you can check out the all_tripsあなたがUberアカウントの旅行を確認するためにどのような追加の承認が必要か見てみましょう。 Uberアプリまたは他のAPI統合

+0

返信いただきありがとうございます。私は単に私のアプリをアンインストールし、それを再インストールしました。今はうまく動作しています。 –

関連する問題