Android应用程序中的云端点身份验证失败

2023-12-11

我第一次尝试在 Google Cloud Endpoints android 应用程序中以调试模式使用身份验证时遇到了问题。我这样设置凭据:

credential = GoogleAccountCredential.usingAudience(this,
           "server:client_id:long-string-i-got-from-api-console");
credential.setSelectedAccountName(accountName);

然后尝试像这样使用它:

final String LOCAL_APP_ENGINE_SERVER_URL = "http://xxx.xxx.x.xxx:8888"; 
Testdbendpoint.Builder endpointBuilder = new Testdbendpoint.Builder(
            AndroidHttp.newCompatibleTransport(),
            new GsonFactory(),
            credential);
endpointBuilder.setRootUrl(LOCAL_APP_ENGINE_SERVER_URL + "/_ah/api/");
Testdbendpoint endpoint = endpointBuilder.build();
try {
    TestDB testDB = new TestDB().setId(10101L);                      
    TestDB result = endpoint.insertTestDB(testDB).execute();  //-- fails here!!!!
} catch ...

但尝试失败了,我在 logCat 中收到以下消息:

03-06 23:33:20.418: W/System.err(11861): 原因: com.google.android.gms.auth.GoogleAuthException:未知 03-06 23:33:20.418:W/System.err(11861):在 com.google.android.gms.auth.GoogleAuthUtil.getToken(来源未知) 03-06 23:33:20.423: W/System.err(11861): 在 com.google.android.gms.auth.GoogleAuthUtil.getToken(来源未知) 03-06 23:33:20.428: W/System.err(11861): 在 com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:192)


也许您的 Android 客户端 ID 的证书指纹 (SHA1) 错误?仅当您手动签署 .apk 时,使用生产密钥指纹进行的身份验证才有效。

使用您的 debug.keystore 指纹为已安装的应用程序 (Android) 注册客户端 IDAPI控制台。要获取指纹,请使用:

C:\>keytool -list -alias androiddebugkey -keystore C:\.android\debug.keystore -storepass android -keypass android

您还需要一个 Web-Client-Id 并将其设置为 Android 应用程序中的 Audience:

credential = GoogleAccountCredential.usingAudience(this,"server:client_id:" + WEB_CLIENT_ID);

AppEngine 端点配置应如下所示:

@Api(
    name = "testEndpoint",
    version = "v1",
    clientIds = {ClientIds.WEB_ID, ClientIds.ANDROID_PRODUCTION_ID, ClientIds.ANDROID_DEBUG_ID},
    audiences = {ClientIds.WEB_ID}

)

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

Android应用程序中的云端点身份验证失败 的相关文章

  • 通过附加上下文改进 Android 语音识别

    据我了解 Android API 使用谷歌语音识别服务进行语音转文本 我已经学习了 API 我发现它非常简单 只需将语音转换为单词数组即可 有什么方法可以提高识别率 我的意思是 如果我知道上下文 我可以向服务发送一些参数以提高识别率吗 或者
  • Android N 通过代码安装apk

    我正在尝试在 android N 上安装 APK if Build VERSION SDK INT gt Build VERSION CODES N File apkFile new File Environment getExternal
  • 使用动画更新布局

    我有一个继承自 LinearLayout 的自定义视图 它包含一个按钮 和一个编辑文本 EditText 的初始可见性设置为 GONE 什么时候 按下按钮我希望 EditText 出现动画效果 所以 我制作了一个 ScaleAnimatio
  • 如何每分钟运行一次BroadcastReceiver?

    我正在开发一个应用程序来每分钟监控网络 我正在为此使用广播接收器 我想每分钟后执行一次 BroadcastReceiver 我该怎么做 我可以在 BroadcastReceiver 中使用 Thread sleep 吗 在android中持
  • 有多少用户获得了更新的应用版本

    我最近将新版本的 Android 应用程序推送到了 Play 商店 并想看看有多少用户已经成功获取更新 似乎有关于 Android 版本和正在使用的设备的统计数据 但我似乎无法找到有关我的用户正在使用的应用程序版本的任何信息 Go to h
  • LazyAdapter 上的 TextView 显示错误数据

    我已经基于此成功使用 ListView 和 LazyAdapter 构建了一个应用程序link https stackoverflow com questions 541966 android how do i do a lazy load
  • 如何使用 Google App Engine 作为 Android 应用程序的后端数据库

    我实际上是 android 的初学者 需要很多帮助 我制作了一个带有嵌入式数据库的应用程序 现在想将其放在某个动态位置 具有简单的数据形式 一些地址和分支机构信息等 我实际上不知道如何使用放置在动态位置的动态服务器 我怎样才能做到这一点 请
  • 如何以编程方式检查应用程序是否在调试模式下运行?

    我必须在应用程序中的某个位置确定我的应用程序是在调试模式还是实时模式下运行 是否有任何函数或代码可用于检查 在开 关两种情况下都会返回 true false 如果是这样 请帮助我 提前致谢 从问题中尚不清楚调试模式是否指的是 应用程序是否可
  • 是否可以使用 AWS AppSync 构建离线优先的移动应用程序?

    我想使用 AWS AppSync 进行移动开发 Android iOS 但我不确定其离线功能 根据文档 数据将在离线时访问 并在客户端再次上线时自动同步 但我找不到任何有关应用程序客户端在使用 AppSync 创建和修改离线数据之前是否需要
  • 无法将 LocalBroadcastManager 添加到 Android Studio 中的项目

    我想我现在已经尝试了一切 我一直在堆栈溢出 我什至咨询过android文档 这里的大多数帖子都展示了如何在 Eclipse 中添加 jar 文件 android 工具 gt 添加支持库 或其他内容 所以我尝试按照文档告诉我的方式进行操作 方
  • 错误的本机调用堆栈

    我在 crashylitics 显示本机崩溃的正确调用堆栈时遇到问题 它以前可以工作 但现在调用堆栈要么没有意义 要么名称丢失 我已通过查看 crashylitics 日志文件来确保符号正在上传 那里一切看起来都很好 我进行了一次崩溃测试
  • 当选择edittext时,主题/样式不会改变

    我的注册表单中有 Edittext 当用户触摸编辑文本时 编辑文本框变为绿色 表示选择了编辑文本 我不希望这样 当用户选择任何编辑文本时 行吹编辑文本保持白色 请检查此图片以获取更多说明 https i stack imgur com sl
  • Android AsyncTask onPreExecute 未不确定地调用

    我有一个 AsyncTask 它应该在通过互联网上传一些内容时显示进度条 有时它就像一个魅力 有时它不显示任何进度条 这是代码 public class Upload extends AsyncTask
  • Android-JNI 中的 AndEngine GLES2 存在 Proguard 问题 在应用程序中检测到错误

    我开发了一个应用程序 使用和发动机GLES2 https github com nicolasgramlich AndEngine和 andEngine 的扩展物理二维盒 https github com nicolasgramlich A
  • 如何限制 Android 设备网络速度以进行测试

    我正在测试一个 Android 应用程序 该应用程序在低质量网络上管理其内容时遇到一些问题 我无法验证问题是否仍然存在 因为以我家的网络速度 120mb s 在我设法开始复制路线之前 所有内容都已经下载完毕 在这种情况下 不能选择使用 An
  • 配置为“ ”的资源“attr/pivotX”的值重复

    一个月后 启动 Android studio 并与 Gradle 同步时 弹出此错误 重建 清理项目不起作用并再次显示相同的错误 我尝试过重建 清理和无效 重新启动项目 但似乎没有任何效果 我已经在这个网站上搜索过这个问题 但似乎仍然没有任
  • 如何在运行时将元数据信息写入Android Manifest

    我知道可以编辑 Android 清单组件 例如 将其设置为启用 禁用等 我想在运行时将元值标签插入到 Android 清单的应用程序标签中 我怎样才能直接写入android清单 这是我想直接写入我的应用程序的 Android 清单中的字符串
  • 如何将我的自定义相机应用程序设置为默认应用程序?

    如果我使用以下代码 Intent takePictureIntent new Intent MediaStore ACTION IMAGE CAPTURE startActivityForResult takePictureIntent 1
  • 如何使用 Retrofit 从异步回调返回 String 或 JSONObject?

    例如 调用 api getUserName userId new Callback
  • Spotify API:INVALID_APP_ID

    我目前正在开发一个实现 Spotify API 的 Android 应用程序 我已经使用教程将我的应用程序连接到 Spotify 的所有代码 并且已经在我的应用程序上工作了一段时间了 当我在验证用户身份后通过我的应用程序播放歌曲时 它在我的

随机推荐

  • 线程“main”中的异常 java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonParseException

    我正在使用 Twilio 从我的网络应用程序发送 SMS 消息 我几乎已经完成了集成 它正在发送短信 但生成了错误 我不明白为什么 我已经包含了一个 JSON 依赖项json和这个文件link但我仍然收到错误 我还需要包含哪些其他罐子 Ex
  • 使用 qmake 获取日期

    由于我使用今天的日期作为我的应用程序版本 因此我有兴趣自动填充它 目前我正在我的项目文件中执行以下操作 VERSION 15 4 20 但我想让它自动进行 VERSION YEAR MONTH DAY 任何想法 您可以使用QMAKE POS
  • 抛出异常的哪一部分成本很高?

    在 Java 中 当实际上没有错误时 使用 throw catch 作为逻辑的一部分通常是一个坏主意 部分 因为抛出和捕获异常的成本很高 并且在循环中多次执行通常比其他方法慢得多不涉及抛出异常的控制结构 我的问题是 成本是在 throw c
  • 为什么使用“new NetworkCredential(用户名、密码)”无法对我的网站进行基本身份验证(从 WinForms C# 应用程序)?

    我有一个使用基本身份验证 用户名 密码 的网站 为什么下面的代码不起作用 当我运行它时 Web 应用程序会将我带到登录控制器 而我希望在我填充凭据的情况下它应该已经经过身份验证 换句话说 我试图确认在 NET 中如何确认我的winforms
  • JMeter。如何确定线程组何时完成

    我需要运行两个单独的线程组 第二组有无限循环计数 当第一组完成后 停止第二组 我如何确定第一组何时完成 这对我来说是工作 克里特岛 BeanShell 预处理器 代码如下 props put DONE FALSE 使用以下代码创建 Bean
  • .dll 已加载到另一个类加载器中?

    我有一个在 Tomcat 3 2 1 下运行的 web 应用程序 需要进行 JNI 调用 为了访问遗留 C 代码中的数据和方法 servlet 已加载 在 webapp 的启动 作为其一部分init方法 产生一个数据集 特定于要加载到 C
  • Python 中的日期时间解析时区不一致

    当我在 Python 3 X 中运行以下命令时 import datetime DATE TS FORMAT Y m d H M S f Z date ts datetime datetime 2019 1 2 3 4 5 tzinfo d
  • Python timedelta 负值问题

    您好 我需要一些帮助来理解为什么会发生这种情况 我有一种方法可以跟踪事件程序中的 剩余时间 def get program time budget self return self estimated duration self get p
  • 多处理在 Ubuntu 中有效,但在 Windows 中无效

    我正在尝试使用这个例子作为我的cherrypy应用程序上的排队系统的模板 我能够将它从 python 2 转换为 python 3 更改from Queue import Empty into from queue import Empty
  • 无法使用 SPARQL 从 LinkedMDB 检索高 ID 的电影

    我正在运行以下查询LinkedMDB SPARQL 端点它有效 有了它 我可以获得有关 id 72 的电影导演的所有信息 即Titanic 所以我得到了关于詹姆斯 卡梅隆的信息 PREFIX mdb
  • Laravel 5 中间件“所有者”?

    我在创建 所有者 中间件时遇到麻烦 例如 我有一个Articles and User模型关联于user id key 我想将 所有者 中间件添加到ArticlesController 因此该文章的唯一所有者可以编辑 更新和删除它 我已经搜索
  • 我可以使用设备的相机在 Unity 中拍照吗?

    我完全不熟悉 Unity3D 更复杂的功能集 并且很好奇它是否有能力拍摄照片然后对其进行操作 具体来说 我的愿望是让用户拍一张自拍照 然后让他们在脸部周围描画以创建一个 PNG 然后将其纹理映射到模型上 我知道将面部映射到模型上很简单 但我
  • 在 didFinishLaunchingWithOptions 结束之前是否曾调用过 applicationWillResignActive ?

    某个场景会发生在哪里吗 applicationWillResignActive 之前会被调用application didFinishLaunchingWithOptions ends 基本上 我可以指望application didFin
  • TryParse SSIS 忽略源行

    我有一个序列化代码 在该代码中存在一些数值 这些数值在解析时表示日期 For example 011756420176654 Note array index may be off Substring 1 2 01 Substring 3
  • 使用工作表 CodeName 并避免 .Select 和 .Activate

    在我的工作簿中 我经常需要使用它们来激活一些工作表CodeName then 搜索一些文本在那张纸上和使用单元格的行号或列号其中包含我正在寻找的文本 在这种情况下 我使用以下代码 Sheet16 Select Using codename
  • 为什么改变颜色或粗体的一个单元格的一部分不再起作用?

    In Excel 可以更改部分单元格的字体颜色 我已经尝试过下面的代码 更新后无法使用Excel 365对于价值 不是公式 Set ce cells 5 3 ce Characters 1 5 Font Color vbBlue 它应该更改
  • Ajax 请求并非向所有人开放

    我使用 CodeIgniter 创建了一个网络应用程序 我在应用程序中有几个地方使用了ajax 我想知道是否有一种方法可以停止对 ajax 控制器的直接访问和查询 而只允许处理源自页面的合法 ajax 请求 Thanks 是的 您可以毫无问
  • 在常规 UIViewController 上的 UITableViewCell 中滚动键盘上方的 UITextField

    我已经尝试过 StackOverflow 上的大部分示例 我也用过苹果的 我似乎遇到的问题是他们没有考虑 UITableView 中的 UITextField 我已经这样做过很多次了 但不是以这种方式 我有一个自定义 UITableView
  • std::async 函数串行运行

    当在 for 循环中使用 std async 和 launch async 时 我的代码在同一线程中串行运行 就好像每个异步调用在启动之前都会等待前一个调用一样 在 std async 引用的注释中 std 异步 如果 std future
  • Android应用程序中的云端点身份验证失败

    我第一次尝试在 Google Cloud Endpoints android 应用程序中以调试模式使用身份验证时遇到了问题 我这样设置凭据 credential GoogleAccountCredential usingAudience t