Access youtube account with accountmanager

前端 未结 3 1332
伪装坚强ぢ
伪装坚强ぢ 2020-12-15 02:16

Im trying to access youtube account with account manager, meaning i want to access youtube with a account linked to my device and with this get youtube token to access user

相关标签:
3条回答
  • 2020-12-15 02:36

    The confusing part is the authTokenType parameter, it must be complete with the spec for OAuth2 access, e.g.

    "oauth2:https://gdata.youtube.com"

    or

    "oauth2:https://www.googleapis.com/auth/tasks"

    0 讨论(0)
  • 2020-12-15 02:38

    I haven't used it myself in an app yet, and it might not be available on all Android devices, but my understanding is that the Google Play services now provides the best approach to getting OAuth 2 tokens (including those scoped to https://gdata.youtube.com). There's more info at

    http://android-developers.blogspot.com/2012/09/google-play-services-and-oauth-identity.html

    You could go with the AccountManager approach for wider compatibility, though.

    0 讨论(0)
  • 2020-12-15 02:50

    you're in luck as I just finished cracking this problem on the app I'm developing.

    AccountManager.get(getApplicationContext()).getAuthTokenByFeatures("com.google", "oauth2:https://gdata.youtube.com", null, this,
        null, null, new AccountManagerCallback<Bundle>() {
    
            @Override
            public void run(AccountManagerFuture<Bundle> future) {
            try {
                Bundle bundle = future.getResult();
                String acc_name = bundle.getString(AccountManager.KEY_ACCOUNT_NAME);
                String auth_token = bundle.getString(AccountManager.KEY_AUTHTOKEN);
    
                Log.d(DEBUG_TAG, "name: " + acc_name + "; token: " + auth_token);
    
            } catch (Exception e) {
                Log.e(DEBUG_TAG, e.getClass().getSimpleName() + ": " + e.getMessage());
            }
            }
        }, null);
    
    0 讨论(0)
提交回复
热议问题