将 Android GoogleSignIn 与 GmailScopes.GMAIL_SEND (gmail api) 结合使用

2024-03-29

我想使用 GoogleSignIn 并使用 android 内部电子邮件地址 (gmail) 发送电子邮件

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
  //.requestIdToken(getString(R.string.default_web_client_id))
  .requestEmail()
  .requestScopes(new Scope(GmailScopes.GMAIL_SEND) )
  .build();

// Build a GoogleSignInClient with the options specified by gso.
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
dependencies {
  implementation 'com.google.api-client:google-api-client:1.23.0'
  implementation 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
  implementation 'com.google.apis:google-api-services-gmail:v1-rev83-1.23.0'
  // ...
}

我在 google 控制台 API 密钥中设置,用于使用 gmail,并在 oauth 中添加我的 sh1。

  1. 我不知道将 API 密钥放在应用程序中的何处
  2. 使用 google 登录可以正常工作,无需

.requestScopes(新范围(GmailScopes.GMAIL_SEND))

但是当我添加它时,它永远挂起。


在 GmailQuickstart 快速入门指南中,您有:

    private static final String TOKENS_DIRECTORY_PATH = "tokens";
    private static final String CREDENTIALS_FILE_PATH = "/credentials.json";

.
.
.

private static Credential getCredentials(final NetHttpTransport HTTP_TRANSPORT,Context context, String personId) throws IOException {
    // Load client secrets.
    InputStream in = GmailQuickstart.class.getResourceAsStream(CREDENTIALS_FILE_PATH);
    if (in == null) {
        throw new FileNotFoundException("Resource not found: " + CREDENTIALS_FILE_PATH);
    }

您需要下载credentials.json并将其放在这里:

在这里查看有关如何在 Android 中集成 Gmail api 的完整答案:使用 Gmail api 通过 Android 应用程序发送邮件 https://stackoverflow.com/questions/64156140/use-gmail-api-for-send-mail-via-android-app/68777134#68777134

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Android GoogleSignIn 与 GmailScopes.GMAIL_SEND (gmail api) 结合使用 的相关文章

随机推荐

  • 使用 WSGI 和 Python 3 提供静态文件

    使用 WSGI 和 Python 3 2 提供静态文件的最简单方法是什么 有一些用于 PEP 333 和 Python 2 的 WSGI 应用程序用于此目的 但是关于 PEP 3333 和 Python 3 的吗 我想使用 wsgiref
  • R:如何从数据框中获取正确的乳胶回归表?

    考虑下面的例子 inds lt c var1 var2 model1 lt c 10 2 0 00 0 02 0 3 model2 lt c 11 2 0 01 0 02 0 023 df df data frame inds model1
  • 如何创建接受泛型的无状态功能组件?

    Typescript 泛型可用于扩展接口 interface Sample1 p prop1 P interface Sample2 p p extends Sample1 p p prop2 string 但是当我尝试创建一个使用通用接口
  • 如何更改 JTextArea 中的文本颜色?

    我需要知道如何做到这一点 比方说 我有一个代码JTextArea像这样 LOAD R1 1 DEC R1 STORE M R1 ADD R4 R1 8 我想改变颜色LOAD DEC STORE and ADD涂成蓝色R1 R4涂成绿色M变为
  • 在 VBA 中将日期转换为文本

    我有一个数据集 其中包含文本值 例如 2016 年 3 月 现在我编写了以下代码来在我的报告表中复制此内容 DataFin Range E9 E9 DateSerial Year Date Month Date 0 DataFin Rang
  • Jackson JSON、不可变类和接口

    我正在使用 Jackson 的示例 并且在反序列化与不可变的类和接口一起使用时遇到了一些麻烦 下面是我的代码 package com art starter jackson starter import java io IOExceptio
  • 为什么在 Resharper/MSTest 下调试时引用的 dll 被锁定?

    我对汇编中的方法进行了集成测试A 集会A参考汇编B通过项目参考 我在 Resharper 6 1 单元测试场景中的 Visual Studio 2010 调试器下运行它们 测试引擎是微软原生的MSTest 我得到了臭名昭著的 该进程无法访问
  • 如何捕获 TimeConstrained 产生的中断?

    数学有CheckAbort允许捕获和处理用户生成的和编程的函数Aborts 但它不允许捕获由以下函数生成的中断TimeConstrained and MemoryConstrained TimeConstrained CheckAbort
  • M2Crypto:验证 DSA 签名

    我在使用 Python M2Crypto 验证 DSA 签名时遇到问题 签名是在 Java 中使用标准 java security Signature 类以及 Sun 的加密提供程序和 SHA1withDSA 算法指定生成的 这是一些 sh
  • 使用 SqlCommand 返回值

    我正在尝试获取 SQL 2008 服务器上存储过程的结果集和返回值 当我在sql management studio中运行proc时 我得到结果集和返回值 但是 当我尝试获取 C 4 0 中的值时 参数的值为 null 这是我的 C 代码
  • 通过 Grails 域标准在活动光标中出现 Mongo CursorNotFound 异常

    我正在使用 Grails 2 4 4 mongo 插件 3 0 2 MongoDB 2 4 10 使用远程数据库连接 grails mongo host 11 12 13 14 A remote server IP port 27017 d
  • 如何实现Flood-fill算法?

    我正在开发一个 Paint 应用程序 其中我正在实现类似于 MS Paint 应用程序的 BucketFill 功能 我使用一些 FloodFill 算法对其进行了编码 但填充颜色过程花费了太多时间 我不太确定其背后的原因可能是由于缓存内存
  • 标签文本中的 RGB 颜色效果,tkinter python

    您好 我只是在尝试一些代码 我正在尝试更改标签内文本的颜色 如物理键盘中的 rgb 颜色效果 使用以下代码我确实改变了颜色 但我正在尝试实现的目的是改变文本每个字母的颜色 但我不知道该怎么做 下面是我写的代码 import tkinter
  • 如何使用 WiX 将交互式用户添加到本地化 Windows 中的目录?

    如何添加瑞典语交互式用户 NT INSTANS INTERAKTIV 或英文交互用户 NT AUTHORITY INTERACTIVE 或任何其他本地化用户组write程序文件夹 ACL 的权限 这个问题实际上是 我如何使用安全对象 我无法
  • 在 AWS RDS 实例之间移动数据

    我需要在两个不同的 rds 实例上的相同 mysql 数据库之间移动数百万行 我想到的方法是这样的 use data pipeline to export data from the first instance to amazon s3
  • 在 R 中对非常大的数据集(180 万行 x 270 列)进行建模

    我正在研究一个视窗8操作系统带有8 GB 内存 我有一个数据框180 万行 x 270 列我必须对其执行glm logit 任何其他分类 我尝试使用 ff 和 bigglm 包来处理数据 但我仍然面临错误的问题 Error cannot a
  • 检查我的页面是否嵌入 iframe 中

    我想测试我的页面 php 是否嵌入到 iframe 中 以便实现不同的行为 知道如何测试这个 如果有帮助的话我也在使用 jQuery 添加 我特别感兴趣是否有一种方法可以在服务器上而不是在客户端使用 Javascript 来测试它 你可以使
  • “尚未应用待处理的组合物”例外是什么意思以及如何避免?

    我有一个正在运行的应用程序 但有时 由于我未知的原因 应用程序崩溃并显示以下消息 java lang IllegalStateException 尚未应用挂起的组合 我无法在任何地方找到有关此异常发生的信息 而且我也不明白如何避免它 编辑
  • Android - 从HashMap中获取值

    我尝试在 Android 中搜索 HashMap 但出现问题 考虑这个例子 HashMap
  • 将 Android GoogleSignIn 与 GmailScopes.GMAIL_SEND (gmail api) 结合使用

    我想使用 GoogleSignIn 并使用 android 内部电子邮件地址 gmail 发送电子邮件 GoogleSignInOptions gso new GoogleSignInOptions Builder GoogleSignIn