Flickr Oauth Conectarse con Scribe Library

Soy bastante nuevo en Android, por favor perdone cualquier error.

package net.schwiz.oauth; import org.json.JSONException; import org.json.JSONObject; import org.scribe.builder.ServiceBuilder; import org.scribe.builder.api.TwitterApi; import org.scribe.model.OAuthRequest; import org.scribe.model.Response; import org.scribe.model.Token; import org.scribe.model.Verb; import org.scribe.model.Verifier; import org.scribe.oauth.OAuthService; import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.TextView; public class Main extends Activity { final static String APIKEY = "XXXXXXXXXXXXXXXXXXXX"; final static String APISECRET = "XXXXXXXXXXXXXXXXXXXX"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final TextView textView = (TextView)findViewById(R.id.textview); final WebView webview = (WebView) findViewById(R.id.webview); if(APIKEY == null || APISECRET == null){ textView.setText("You must enter your own APIKEY and SECRET to use this demo. dev.twitter.com"); webview.setVisibility(View.GONE); return; } //set up service and get request token as seen on scribe website //https://github.com/fernandezpablo85/scribe-java/wiki/Getting-Started final OAuthService s = new ServiceBuilder() .provider(TwitterApi.class) .apiKey(APIKEY) .apiSecret(APISECRET) .callback(CALLBACK) .build(); final Token requestToken = s.getRequestToken(); final String authURL = s.getAuthorizationUrl(requestToken); //attach WebViewClient to intercept the callback url webview.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { //check for our custom callback protocol otherwise use default behavior if(url.startsWith("oauth")){ //authorization complete hide webview for now. webview.setVisibility(View.GONE); Uri uri = Uri.parse(url); String verifier = uri.getQueryParameter("oauth_verifier"); Verifier v = new Verifier(verifier); //save this token for practical use. Token accessToken = s.getAccessToken(requestToken, v); if(uri.getHost().equals("twitter")){ OAuthRequest req = new OAuthRequest(Verb.GET, "URL here"); s.signRequest(accessToken, req); Response response = req.send(); try { JSONObject json = new JSONObject(response.getBody()); textView.setText(json.toString(3)); } catch (JSONException e) { e.printStackTrace(); } } return true; } return super.shouldOverrideUrlLoading(view, url); } }); //send user to authorization page webview.loadUrl(authURL); } } 

He intentado este código, su funcionamiento muy bien con gorjeo, pero ahora quiero authenticar el usuario usando Flickr, el código antedicho no está trabajando en ese caso, la condición if(url.startsWith("oauth")) no está trabajando la manera Supuse. Por favor ayuda.

He descubierto el problema! Cuando llamo al método webview.loadUrl(authURL); la url de flickr http://www.flickr.com cambia a m.flickr.com que desencadena el evento shouldOverrideUrlLoading antes de cualquier usuario de inicio de sesión / autenticación.

 if(authURL.charAt(7)=='w') { authURL=authURL.replaceFirst("www", "m"); } 

resuelto mi problema.

  • Cómo codificar un WAV a un mp3 en un dispositivo Android
  • Gran cantidad de constantes en Java
  • Tipo de retorno flexible
  • "Tipo desconocido encontrado" al usar tipo genérico en Firebase GenericTypeIndicator
  • ¿Por qué son las anotaciones bajo Android un problema de rendimiento (lento)?
  • Android dispositivo virtual super lenta - pc demasiado lento?
  • Crear notificación de emisión diaria mediante Firebase Cloud Messaging
  • Descarga de correos enviados desde Yahoo, Gmail y Hotmail
  • ¿Utilizar JSONArray en otra clase?
  • Error: Android Pre Dex: Android SDK no está especificado
  • Deshabilitar todas las vistas secundarias dentro del diseño
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.