Wie authentifiziere ich mehrere Konten in Android Dropbox SDK 1.5.1?

9

Ich muss mehrere Konten authentifizieren

Ich habe das Forum durchsucht und es scheint, als wäre es möglich Also habe ich es versucht, aber ich habe versagt

Ich habe versucht, die gleiche API APP_KEY & amp; APP_SECRET, es ist fehlgeschlagen Beide meine Sitzung geben das gleiche Access-Token-Paar zurück

Also versuche ich verschiedene API APP_KEY & amp; APP_SECRET, unter demselben Dropbox-Konto, es ist auch gescheitert

Also versuche ich nochmal mit verschiedenen API APP_KEY & amp; APP_SECRET von verschiedenen Dropbox-Konten, es ist immer noch fehlgeschlagen

Jeder kann mir eine Lösung anbieten? Vielen Dank im Voraus

Unten ist mein Code, kommt hauptsächlich aus dem DBroulette Beispiel

onCreate (android)

%Vor%

onResume (Android)

%Vor%

SONSTIGE CODES

%Vor%

Ich habe bemerkt, dass ich möglicherweise etwas hinzufügen muss in das Manifest in dem Hinzufügen eines anderen ABER ich kann keine zweite Aktivität in Android-Manifest mit verschiedenen APP-KEY hinzufügen, weil es doppelten Fehler verursacht Wie kann ich es tun?

%Vor%     
tcboy88 20.11.2012, 18:03
quelle

3 Antworten

1

Ich bin mir nicht sicher, ob Ihnen das in Ihrem Anwendungsfall ein wenig helfen würde, aber vielleicht könnte es eine Problemumgehung sein, Ihren eigenen Authentifikator zu schreiben, um die Authentifizierungsvorgänge durch die integrierte Android-Kontoverwaltung zu trennen. Hier ist ein Beispiel: Ссылка

    
Patrick Leitermann 20.05.2014 16:57
quelle
1

Ich bin auf eine ähnliche Anforderung gestoßen und so habe ich gearbeitet.

1. App
Erhalte Zugriff auf deine erste Anwendung mit dem normalen Dropbox-Ablauf.

Hinweis: Ein wahrscheinlicher Fall für 2 Dropbox-Anwendungen könnte der Zugriff auf das Benutzerkonto von Ihrem Server mit einer anderen Dropbox-Anwendung sein. Bitte beachten Sie, dass Sie die Zugriffstoken von der ersten App mit Ihrem Server teilen und diese Anmeldeinformationen sicher verwenden können, vorausgesetzt, Sie verwenden dieselbe Dropbox-Anwendung auf dem Server. Wenn Sie damit nicht leben können, lesen Sie weiter.

2. App
Option 1: Mit einer anderen Android App

  1. Erstellen Sie eine weitere Android-App nur für den oAuth-Flow für die zweite Dropbox-App.
  2. Verwenden Sie Intent, um oAuthflow in app2 von app1 auszulösen.
  3. Verwenden Sie erneut die Absicht, Tokendaten von app2 an app1 zu senden

Ein paar Tipps, wenn Sie dies verwenden werden:

  1. Machen Sie den Hintergrund von App2 oAuth Activity transparent
  2. Intent-Änderungsanimationen für app1 & lt; - & gt; app2 Übergänge
  3. Trigger oAuth in App2 Aktivität onCreate

Option 2: Wenn Sie dies weiterhin mit nur einer Android-App tun, habe ich eine mögliche Problemumgehung gefunden, wie unten beschrieben.

  1. Fordern Sie Ihren Benutzer auf, diese URL zu öffnen: Ссылка
  2. Sie müssen einen Autorisierungscode, der von Dropbox zurückgegeben wurde, kopieren
  3. Dieser Autorisierungscode kann verwendet werden, um access_tokens für die zweite App zu erhalten

Wenn Sie die 2. App in einem serverseitigen Kontext verwenden möchten, teilen Sie einfach den Autorisierungscode mit Ihrem Server. Sie können Token aus Autorisierungscode in einem Python-Flow wie folgt erhalten:

%Vor%

Für allgemeinere Möglichkeiten, um Zugriffstoken von Autorisierungsschlüsseln zu erhalten, sieh dir das an

    
Praveen Kumar Pendyala 28.01.2015 01:32
quelle
0

Dropbox-API hat einige Probleme oder Sie können einen Trick sagen, den Sie verwenden müssen, um mehrere Anmeldungen auszuführen.

1. Deklarieren Sie sAuthenticatedUid als String []

private static final String[] sAuthenticatedUid = { "dummy"}; // Keeping only one Auth Id to keep last authenticated item

2. Starten Sie OAuth mit einer anderen Methode

Verwenden Sie session.startOAuth2Authentication(act, "", sAuthenticatedUid) für die Authentifizierung anstelle von startOAuth2Authentication ()

3. Pflegen Sie Variablen bei erfolgreicher Authentifizierung

%Vor%

AuthActivity ist com.dropbox.client2.android.AuthActivity, die das Ergebnis der letzten Authentifizierung speichert und Probleme verursachen kann, da dies eine statische Variable ist.

Sie sollten jetzt so viele Anmeldungen machen können wie Sie möchten.

    
vinksharma 03.09.2015 17:54
quelle

Tags und Links