Android: Cómo cargar una foto en flickr usando flickrj-android-2.0.0 android library

I un uso de flickrj-android-2.0.0 y seguir el flujo de OAuth. Estoy recibiendo el token de acceso y el secreto también pero cuando intento subir la foto en flickr estoy consiguiendo el este error:

Com.googlecode.flickrjandroid.FlickrException: 99: Permisos insuficientes. El método requiere privilegios de escritura; Leer concedido .

Incluso he cambiado el permiso para escribir cuando estoy creando mi api-clave y secreto, pero sigue recibiendo el mismo error.

Para cargar la foto estoy usando el siguiente código por favor ayúdame a resolver esto Estoy realmente atrapado en esta parte.

public void uploadPhoto(OAuth... params) throws ParserConfigurationException { OAuth oauth = params[0]; OAuthToken token = oauth.getToken(); RequestContext requestContext = RequestContext.getRequestContext(); OAuth auth = new OAuth(); auth.setToken(new OAuthToken(token.getOauthToken(), token .getOauthTokenSecret())); requestContext.setOAuth(auth); Uploader up = new Uploader(FlickrHelper.API_KEY, FlickrHelper.API_SEC); UploadMetaData uploadMetaData = new UploadMetaData(); uploadMetaData.setTitle("hello world"); try { Drawable d = getResources().getDrawable(R.drawable.icon); // the drawable (Captain Obvious, to the rescue!!!) Bitmap bitmap = ((BitmapDrawable) d).getBitmap(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); byte[] bitmapdata = stream.toByteArray(); System.out.println("Bitmap value= " + bitmapdata); userIcon.setImageBitmap(bitmap); up.upload("Hello From Emulator", bitmapdata, uploadMetaData); } catch (FlickrException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 

Gracias…

He resuelto cambiando la clase de OAuthTask … El problema era el permiso solamente … Puesto Permission.WRITE vez de Permission.READ

 public class OAuthTask extends AsyncTask<Void, Integer, String> { // private static final Logger logger = LoggerFactory // .getLogger(OAuthTask.class); private static final Uri OAUTH_CALLBACK_URI = Uri .parse(FlickrjAndroidSampleActivity.CALLBACK_SCHEME + "://oauth"); //$NON-NLS-1$ /** * The context. */ private Context mContext; /** * The progress dialog before going to the browser. */ private ProgressDialog mProgressDialog; /** * Constructor. * * @param context */ public OAuthTask(Context context) { super(); this.mContext = context; } @Override protected void onPreExecute() { super.onPreExecute(); mProgressDialog = ProgressDialog.show(mContext, "", "Generating the authorization request..."); //$NON-NLS-1$ //$NON-NLS-2$ mProgressDialog.setCanceledOnTouchOutside(true); mProgressDialog.setCancelable(true); mProgressDialog.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dlg) { OAuthTask.this.cancel(true); } }); } /* * (non-Javadoc) * * @see android.os.AsyncTask#doInBackground(Params[]) */ @Override protected String doInBackground(Void... params) { try { Flickr f = FlickrHelper.getInstance().getFlickr(); OAuthToken oauthToken = f.getOAuthInterface().getRequestToken( OAUTH_CALLBACK_URI.toString()); saveTokenSecrent(oauthToken.getOauthTokenSecret()); URL oauthUrl = f.getOAuthInterface().buildAuthenticationUrl( Permission.WRITE, oauthToken); return oauthUrl.toString(); } catch (Exception e) { // logger.error("Error to oauth", e); //$NON-NLS-1$ return "error:" + e.getMessage(); //$NON-NLS-1$ } } /** * Saves the oauth token secrent. * * @param tokenSecret */ private void saveTokenSecrent(String tokenSecret) { // logger.debug("request token: " + tokenSecret); //$NON-NLS-1$ FlickrjAndroidSampleActivity act = (FlickrjAndroidSampleActivity) mContext; act.saveOAuthToken(null, null, null, tokenSecret); // logger.debug("oauth token secret saved: {}", tokenSecret); //$NON-NLS-1$ } @Override protected void onPostExecute(String result) { if (mProgressDialog != null) { mProgressDialog.dismiss(); } if (result != null && !result.startsWith("error")) { //$NON-NLS-1$ mContext.startActivity(new Intent(Intent.ACTION_VIEW, Uri .parse(result))); } else { Toast.makeText(mContext, result, Toast.LENGTH_LONG).show(); } } } 

Ver Demostración Completa

Introduzca aquí la descripción de la imagen

  • ¿Por qué mi contexto en mi Fragmento es nulo?
  • IOException: "El desafío de autenticación recibido es nulo" (Apache Harmony / Android)
  • Cómo optimizar una clase de procesamiento de imágenes
  • ¿Es seguro usar Java Threads de la misma manera que las aplicaciones de escritorio?
  • Cómo Java Binding para Dbus para ejecutarse en Android
  • Cómo hacer un fragmento desplazable basado en el predeterminado android PageView
  • Java montón espacio
  • Javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Ancla de confianza para la ruta de certificación no encontrada
  • Transmisión de audio y vídeo desde Android a PC / web.
  • Android SearchView cadena vacía
  • Cómo nombrar getter / setter en el proyecto Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.