11

アプリケーションでドロップボックスを使用したい。ファイルをアップロードおよびダウンロードするためのサンプルアプリケーションを開発し、認証を要求します。

しかし、ログインポップアップを開きたくありません。

デフォルトのアカウント(シングルアカウント)のログイン詳細を使用して、他のユーザーがドロップボックスにアクセスすることは可能ですか?したがって、どのユーザーもログインポップアップなしでdropboxを直接使用できます。

4

4 に答える 4

7

アクセスユーザーアクセストークンペアを手動で設定する方法。

     AppKeyPair appKeys = new AppKeyPair(APP_KEY, APP_SECRET);
     AndroidAuthSession session = new AndroidAuthSession(appKeys, ACCESS_TYPE);
     if (mDBApi == null) {
        mDBApi = new DropboxAPI<AndroidAuthSession>(session);

//  mDBApi.getSession().startAuthentication(Main.this);  //kicks off the web-based authentication
      //you'll have to use the web-based authentication UI one-time to get the ######### values
        String token_key="#########";  
        String token_seceret="#########";
        AccessTokenPair tokens=new AccessTokenPair(token_key,token_seceret);
        mDBApi.getSession().setAccessTokenPair(tokens);     
  //  boolean v=mDBApi.getSession().authenticationSuccessful(); 
    }

ブレークポイントを使用してデバッグモードでアプリケーションを初めて実行するときは、有効なログを詳細に入力してトークンキーとトークンシークレットを取得し、そのクレデンシャルを保存(メモ)してから、上記のコードのように手動で設定すると、正常にログインできます。

于 2013-04-02T07:47:38.783 に答える
2

はい。彼らのサンプルアプリDBRouletteを見てください。

于 2013-03-26T17:36:35.773 に答える
0

以下のリンク名からDBRouletteとしてプロジェクトをダウンロードしてください

https://www.dropbox.com/developers/core

そして、https: //www.dropbox.com/developersでアプリを作成し、APIキーとシークレットを取得して、これをDBRoulette.javaAndroidManifest.xmlの両方に追加します...動作します。

于 2013-10-23T09:35:54.230 に答える
0

onCreate()に書き込みます

AppKeyPair pair = new AppKeyPair(ACCESS_KEY, ACCESS_SECRET);
    session = new AndroidAuthSession(pair, AccessType.APP_FOLDER);
    dropbox = new DropboxAPI<AndroidAuthSession>(session);

    SharedPreferences prefs = getSharedPreferences(DROPBOX_NAME, 0);
    String key = prefs.getString(ACCESS_KEY, null);
    String secret = prefs.getString(ACCESS_SECRET, null);
    if (key != null && secret != null) {
        Log.d("key secret", key + "    " + secret);
        AccessTokenPair token = new AccessTokenPair(key, secret);
        dropbox.getSession().setAccessTokenPair(token);
    }
    if (key == null && secret == null)
            dropbox.getSession().startAuthentication(DropboxActivity.this);

そしてonResume()に書き込みます

if (dropbox.getSession().isLinked()) {
        try {
            loggedIn(true);
            doAction();
        } catch (IllegalStateException e) {
            Toast.makeText(this, "Error during Dropbox authentication",
            Toast.LENGTH_SHORT).show();
        }

        } else if (dropbox.getSession().authenticationSuccessful()) {
            try {
                session.finishAuthentication();
                TokenPair tokens = session.getAccessTokenPair();
                SharedPreferences prefs = getSharedPreferences(DROPBOX_NAME, 0);
                Editor editor = prefs.edit();
                editor.putString(ACCESS_KEY, tokens.key);
                editor.putString(ACCESS_SECRET, tokens.secret);
                editor.commit();

                loggedIn(true);
                doAction();

            } catch (IllegalStateException e) {
                Toast.makeText(this, "Error during Dropbox authentication",
                        Toast.LENGTH_SHORT).show();
            }

        }

それは私にとってはうまくいきました

于 2015-02-06T13:17:30.773 に答える