Usando gitskarios / GithubAndroidSdk

Intento usar gitskarios / GithubAndroidSdk para proporcionarles a mis testers alfa y beta una forma de ver los problemas actuales de Github e informar sobre otros nuevos. Estos son los pasos que ya he tomado:

  1. Crea una aplicación GitHub en LINK .
  2. Agregue la información del cliente a los metadatos de mi aplicación:
    • com.alorma.github.sdk.client -> ID de mi cliente
    • com.alorma.github.sdk.secret -> secreto de mi cliente
    • com.alorma.github.sdk.oauth -> 'URL de devolución de autorización de mi cliente'

Ejecutar este código en onCreate de mi fragment:

GithubDeveloperCnetworkingentials.init(new MetaDeveloperCnetworkingentialsProvider(mParent)); UserReposClient client = new UserReposClient(getActivity(), null); client.setOnResultCallback(new BaseClient.OnResultCallback<List<Repo>>() { @Override public void onResponseOk(List<Repo> repos, Response response) { Log.d("GitHub", "onResponseOK: " + response); } @Override public void onFail(RetrofitError retrofitError) { Log.d("GitHub", "onFail: " + retrofitError); } }); Log.d("GitHub", "getting repos"); client.execute(); 

El resultado es un solo logging para "get repos" y no callback.

Intenté eliminar la llamada a GithubDeveloperCnetworkingentials.init() pero eso solo causa un locking al decir que el provider es nulo. Entonces pensé que tal vez no tenía un token de authentication, así que llamé al RequestTokenClient usando null para el segundo parámetro en RequestTokenClient(Context context, String code) pero esto tampoco recibe una callback ni devuelve un token null si se ejecuta con executeSync() .

ACTUALIZAR

Intenté usar los tokens de acceso personal (ver comentarios) para generar un token de acceso y luego savelo en StoreCnetworkingentials . Cuando execute() command execute() ahora parece estar un poco más lejos, pero ahora recibo un nuevo error que dice:

 retrofit.RetrofitError: LoginService.requestToken: HTTP method annotation is requinetworking (eg, @GET, @POST, etc.). 

Al mirar a mi alnetworkingedor encontré una respuesta (ver comentarios) diciendo que esto podría ser un problema de protección con el package de actualización. Así que agregué esas líneas en el file proguard de mi aplicación, pero todavía no tuve suerte.

Alguien puede ayudarme? Todo lo que quiero hacer es get una list de los problemas abiertos.

OK, así que finalmente funcioné, aunque no del modo que yo quería. Inicialmente pensé que cada uno de mis probadores Alpha requeriría tener su propia count de GitHub y agregarse al proyecto y luego usar sus propias cnetworkingenciales para get un token de authentication y acceder a la list de errores. En cambio, usando el token de authentication que generé en mi actualización, pude acceder al repository. Tuve que cambiar el defensor a:

 -keepattributes *Annotation*,Signature -keep class retrofit.** { *; } -keepclasseswithmembers class * { @retrofit.http.* <methods>; } 

(Por alguna razón, la *Annotation* y la Signature incluidas para estar en la misma línea)