如何使用OAuth2.0令牌以编程方式在android中发送邮件

IPL*_*L10 4 email android

我正在开发一个应用程序,我希望使用Gmail凭据以编程方式发送邮件,我知道如何使用设备邮件ID和令牌AccountManager.请建议我如何使用带有一些代码或教程的凭据发送邮件.我是Android新手.请提前帮助我...

IPL*_*L10 10

经过非常努力的工作,我现在可以使用Oauth 2登录Google.现在我在这里分享,因为很多问题在这里都没有答案.以下步骤需要登录Google.

1-使用您的设备选择一个帐户

public static AccountManager accountManager;
accountManager = AccountManager.get(this);
Account[] accounts = accountManager.getAccountsByType("com.google");
Run Code Online (Sandbox Code Playgroud)

2-使用选定帐户获取令牌

private void onAccountSelected(final Account account) {
accountManager.getAuthToken(account, AUTH_TOKEN_TYPE, null, this, new AccountManagerCallback<Bundle>() {
    public void run(AccountManagerFuture<Bundle> future) {
        try {
            String token = future.getResult().getString(AccountManager.KEY_AUTHTOKEN);
            useToken(account, token);
        } catch (OperationCanceledException e) {
            onAccessDenied();
        } catch (Exception e) {
            handleException(e);
        }
    }
}, null);
Run Code Online (Sandbox Code Playgroud)

}

3-现在使用用户帐户和令牌验证令牌.你将能够登录谷歌.

注意:有时候令牌未经授权登录,因此您需要使令牌无效.

4-要重新登录,您必须使用令牌无效

accountManager.invalidateAuthToken("com.google", token);
Run Code Online (Sandbox Code Playgroud)

5-无效后你必须使用一个新的令牌

   String newToken = AccountManager.get(this).getAuthToken(new Account(account,        "com.google"),
                 AUTH_TOKEN_TYPE, true, null, null).getResult().getString(AccountManager.KEY_AUTHTOKEN);
Run Code Online (Sandbox Code Playgroud)

6-在AndroidManifest.xml中添加以下使用权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
Run Code Online (Sandbox Code Playgroud)

这就是你所需要的,现在享受

  • 您将从[此处]获取完整代码(http://code.google.com/p/google-mail-oauth2-tools/wiki/JavaSampleCode) (2认同)