GoogleAuthException:使用 Cloud Endpoints 进行身份验证时未知

2024-02-13

我正在尝试向我的 Cloud Endpoints 添加身份验证,但无法使其正常工作。我使用这个博客作为指导:http://devthots.blogspot.nl/2012/07/building-awesome-android-apps-with.html http://devthots.blogspot.nl/2012/07/building-awesome-android-apps-with.html

我拥有的:

在AppEngine项目中:

@Api(name = "noteendpoint", clientIds = { "123456789012-abcdefghijklmnopqrstuvwxyz012345.apps.googleusercontent.com" }, audiences = { "my_project_id.appspot.com" }, namespace = @ApiNamespace(ownerDomain = "example.com", ownerName = "example.com", packagePath = "myapp"))
public class NoteEndpoint {
   // Rest of class, added parameter User to all methods.
}

在我的 Android 应用程序项目中:

Note note = new Note();     
note.setDescription("Description!");

GoogleAccountCredential credential = 
    GoogleAccountCredential.usingAudience(MainActivity.this, "my_project_id.appspot.com");
credential.setSelectedAccountName(ACCOUNT_NAME);

note.setEmailAddress(credential.getSelectedAccountName());

Builder endpointBuilder = new Noteendpoint.Builder(
    AndroidHttp.newCompatibleTransport(),
new JacksonFactory(), credential);

Noteendpoint endpoint = CloudEndpointUtils.updateBuilder(endpointBuilder).build();
Note result = endpoint.insertNote(note).execute(); // Exception thrown

当我运行这个时,GoogleAuthException: Unknown被抛出:

07-08 14:16:45.677: E/AndroidRuntime(27381): Caused by: com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAuthIOException
07-08 14:16:45.677: E/AndroidRuntime(27381):    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:308)
07-08 14:16:45.677: E/AndroidRuntime(27381):    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:854)
07-08 14:16:45.677: E/AndroidRuntime(27381):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
07-08 14:16:45.677: E/AndroidRuntime(27381):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
07-08 14:16:45.677: E/AndroidRuntime(27381):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
07-08 14:16:45.677: E/AndroidRuntime(27381):    at com.example.test.ui.MainActivity$1.doInBackground(MainActivity.java:131)
07-08 14:16:45.677: E/AndroidRuntime(27381):    ... 7 more
07-08 14:16:45.677: E/AndroidRuntime(27381): Caused by: com.google.android.gms.auth.GoogleAuthException: Unknown
07-08 14:16:45.677: E/AndroidRuntime(27381):    at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
07-08 14:16:45.677: E/AndroidRuntime(27381):    at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
07-08 14:16:45.677: E/AndroidRuntime(27381):    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:277)
07-08 14:16:45.677: E/AndroidRuntime(27381):    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:301)

我该如何解决这个问题?

用于的 clientIdNoteEndpoint类是从“已安装应用程序的客户端 ID”复制的,带有我的调试密钥 sha1。

Using GoogleAccountCredential.usingAudience(MainActivity.this, "server:client_id:my_project_id.appspot.com");(所以与server:client_id:前缀)没有帮助。


生成 Android 客户端 ID 时要小心。输入包名称时,请使用 app/build.gradle 中写入的应用程序 ID。您的源类的包可能有所不同。

解释:

在项目创建时,您输入的包名称将被 Android 用作应用程序 ID,并用于为源类生成包。在项目开发过程中,您可以更改源类的包名称。但要小心,Android Studio 不会自动更改您的应用程序 ID!

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

GoogleAuthException:使用 Cloud Endpoints 进行身份验证时未知 的相关文章

  • React Native 从 JavaScript 代码内部访问 strings.xml

    有没有办法访问当前值android app src main res values strings xml从 JavaScript 代码内部 我想为每个构建放置不同的端点 URL 但我什至无法检测到反应本机代码内的构建类型 而不必求助于 D
  • Android 30+ 中的视频捕获意图 - 只有所有者才能与待处理项目交互

    我正在尝试在我的应用程序上捕获视频 它可以在 android API 30 以下运行 但不能在 30 以上运行 似乎在 sdk 30 之后 android 不允许完全读取外部存储 作用域存储 我目前遇到这个错误 java lang Ille
  • CardView 圆角获得意想不到的白色

    When using rounded corner in CardView shows a white border in rounded area which is mostly visible in dark environment F
  • 谷歌坐标认证

    当我尝试连接到 Google 坐标时 总是出现异常GoogleAuthException 我拥有 Google 地图协调中心许可证 我确实使用我的包应用程序名称和 SHA1 在 google 控制台中创建了我的客户端 ID 我将权限添加到清
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • Adobe 是否为其 PDF 阅读器提供 Android SDK 或 API? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在我们的应用程序内的视图中显示本地 PDF 文件 在 Android 4 03 下的平板电脑上运行 目前 我们将 Adob eR
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 我想实现下面的布局,按钮应该在屏幕底部,当惰性列被填充时,按钮不应该出去

    顶部有惰性列 惰性列下方有输入电话号码布局并从电话簿布局添加联系人 我希望当未添加联系人时此布局位于顶部 当我添加大量联系人时输入电话号码并添加电话簿布局中的联系人会随着惰性列滚动并移出屏幕 我不让他们走出屏幕 当接触较多时 它们必须粘在底
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • 如何确定对手机号码的呼叫是本地呼叫还是 STD 或 ISD

    我正在为 Android 开发某种应用程序 但不知道如何获取被叫号码是本地或 STD 的号码的数据 即手机号码检查器等应用程序从哪里获取数据 注意 我说的是手机号码 而不是固定电话 固定电话号码 你得到的数字是字符串类型 因此 您可以获取号
  • 将两个文本视图并排放置在布局中

    我有两个文本视图 需要在布局中并排放置 并且必须遵守两条规则 Textview2 始终需要完整显示 如果布局中没有足够的空间 则必须裁剪 Textview1 例子 文本视图1 文本视图2 Teeeeeeeeeeeeeeeeeextview1
  • 如何将 google+ 登录集成到我的 Android 应用程序中?

    大家好 实际上我需要通过我的应用程序从 google 登录人们 现在我阅读了 google 上的文档 其中指出 要允许用户登录 请将 Google Sign In 集成到您的应用中 初始化 GoogleApiClient 对象时 请求 PL
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 从 JavaScript 手动触发 iPhone/iPad/iPod 键盘

    我正在开发一个 HTML 代码编辑器 使用简单的 DIV 并捕获事件 当我在 iPad 上使用它时 键盘永远不会弹出 因为从技术上讲我并不处于可编辑字段中 有没有办法以编程方式告诉 iPad 我需要键盘 如果您的代码是通过用户操作启动的某些
  • 将 pop() 与 JavaScript 关联数组结合使用

    我怎样才能在JS中做类似下面的事情 我想模仿 pop 在对象而不是数组上 var deck cardK 13 cardQ 12 cardAJ 11 var val deck pop console log Key val key conso
  • Python 代码块的正则表达式?

    如何创建一个可以匹配行开头以及以 tab 开头的所有以下行的正则表达式 例如 not keyword not this line keyword and random text this line this line and this li
  • 从 CSV 文件创建 ODS 工作表

    我有一组 CSV 文件 需要将其转换为具有多个选项卡式工作表的单个 ODS 甚至 Excel 电子表格 目前我正在使用 python 的 pyexcel 库 但它有很多错误并且速度非常慢 Libreoffice 有一个很好的文件转换实用程序
  • Android:从 Hashmap Arraylist 获取单个值?

    基本上 我有一个使用哈希映射的数据库 运行查询后 我想输出 ID 并将其存储在另一个活动的数组中 之后 我想访问数组中的单个元素 这是我的数据库代码 public ArrayList
  • test_that 与 match.fun 在使用两层深度时会引发意外错误

    我使用时遇到问题match fun和 一起test that when match fun用于嵌套函数内部 为了说明这一点 我构建了一个包含两个函数的快速玩具示例 R 包 后者简单地调用前者 i dont throw error lt fu
  • 当成员也是分层结构时,如何构建类结构?

    我正在构建一个 PHP Web 应用程序 它应该为用户提供订购他与另一个人 组织之间的 ConnectDirect 或文件传输网关 连接的 安装 设置的可能性 连接实现的技术细节并不重要 在应用程序中 它只涉及作为产品的连接 可以订购和管理
  • 手机重启后小部件不显示

    我创建了一个小部件 它工作得很好 直到我重新启动手机 然后小部件不会显示它是不可见的 但如果我按住并单击我可以将它扔进垃圾箱 我有一个从 widgetprovider 中的配置活动调用的函数 它执行以下操作 static void upda
  • 如何通过子进程模块调用 ssh 以便它使用 SSH_ASKPASS 变量

    我正在编写一个使用 SSH 命令的 GUI 我尝试使用 subprocess 模块调用 ssh 并设置 SSH ASKPASS 环境变量 以便我的应用程序可以弹出一个窗口要求输入 SSH 密码 但是 我无法使用给定的 SSH ASKPASS
  • 如何从单个输入获取多个文件输入

    使用 Firefox 和 Chrome 浏览器 我有一个输入文件元素
  • Ruby on Rails - 数组哈希、按列名分组和求和

    我有以下哈希数组 idx gt 1234 账户 gt abde 钱 gt 4 00 order gt 00001 idx gt 1235 account gt abde money gt 2 00 order gt 00001 idx gt
  • 执行程序时的Fortran77参数

    我目前正在做 Fortran77 作业 所以请不要告诉我确切的编码 但请给我一些我想要做什么的提示 使用UNIX终端 我想通过执行来获取传递的参数 program exe parameter 在标准 Fortran77 中你不能 故事结局
  • 在 Ruby 中处理 ARGV,无需 if...else 块

    在一篇关于无条件编程 http michaelfeathers typepad com michael feathers blog 2013 11 unconditional programming html迈克尔 费瑟斯 Michael
  • 在 Ruby 中,为什么 && 工作而 || 工作我的示例代码中没有吗?

    在我的示例代码中 我尝试替换 text 中与 redact 或 redact again 匹配的任何单词 因为这是一个非此即彼的场景 我想 会被使用 事实证明 实际上有效 如果两者或其中之一匹配 它将正确地用 已编辑 一词替换它们 如果找不
  • 在 Facelets 标签内使用 的 EL 变量

    我有一个Home Each Home有一个列表Rooms Each Room有零个或多个Persons 我想统计每个家庭的总人数 但我无法添加新变量来记录任何支持 bean 或实体中的人数 所以我只想通过以下方式在视图中计算它
  • 使用文件系统访问 API (javascript) 重命名/移动文件

    我一直在关注本文 https web dev file system access 允许用户 半 自动将客户端生成的 XML 文件保存到特定的本地文件夹 第三方程序正在监视此文件夹 并将处理其内容并将内容输出到另一个文件中 问题是 从创建文
  • 模型/视图/控制器模型中验证的最佳位置?

    我正在开发一个广泛使用 MVC 设计模式的 PHP 项目 我希望向表单添加验证 并且很好奇验证的正确位置在哪里 由于表单的生成方式 回发数据的验证在视图组件中要简单得多并且重复性更少 让视图验证响应数据是否可以接受 还是应该在控制器甚至模型
  • 为什么我每次都需要source bash_profile

    我已经安装了 Hadoop 每次我想运行它时 首先我必须这样做 source bash profile 否则它不会识别该命令hadoop 这是为什么 我使用的是 OSX 10 8 现在我们已经缩小了问题范围 Run ps p 在命令行中检查
  • nginx 如何在 try_files 中处理 =404 回退

    我有一个示例 Web 服务器 www 目录中只有一个 index html 文件 我可以使用以下配置设置 nginx location subfolder alias data www try files uri uri index htm
  • GoogleAuthException:使用 Cloud Endpoints 进行身份验证时未知

    我正在尝试向我的 Cloud Endpoints 添加身份验证 但无法使其正常工作 我使用这个博客作为指导 http devthots blogspot nl 2012 07 building awesome android apps wi