Google Oauth2 给出“invalid_request”响应以获取访问令牌和刷新令牌

2023-12-08

如何获取 XMPP 的 google 身份验证的访问令牌和刷新令牌。我成功获得了授权代码,但现在我需要获取访问令牌和刷新令牌。但是当我使用下面的代码在 Android 中执行请求时,我得到了响应: { “错误”:“无效请求” }

HttpPost request = new HttpPost("https://accounts.google.com/o/oauth2/token" );         
json.put("client_id", "128232338269.apps.googleusercontent.com" );
json.put("client_secret", "eufZ8Rmjsk1MaADYsHYW" );
json.put("redirect_uri", "urn:ieadsdg:oauth:2.0:oob");
json.put("code", res_code);
json.put("grant_type", "authorization_code");

StringEntity se = new StringEntity(json.toString());

Log.i(TAG, "JSON********" +json.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
request.setEntity(se);

/* Checking response */  
response = client.execute(request); 

但我收到该代码的错误。Response = { "error" : "invalid_request" }

这里有什么问题。 HttpPost 方法对于该 url 是正确的。


经过一番交谈我们发现了问题所在。有效负载错误且内容类型设置错误。下面的代码是解决方案:

    HttpClient client = new DefaultHttpClient();
    HttpPost request = new HttpPost("https://accounts.google.com/o/oauth2/token" );
    request.setHeader("Content-type", "application/x-www-form-urlencoded");

    //Please make this custom with you're credentials
    String requestBody = "code=123123132&client_secret=eufFgyAZ8Rmjsk1MaADYsHYW&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code&client_id=128169428269.apps.googleusercontent.com";

    try {
        request.setEntity(new StringEntity(requestBody));
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
    }

    /* Checking response */
    try {
        HttpResponse response = client.execute(request);
        String results = "ERROR";
        results = EntityUtils.toString(response.getEntity());
        Log.d("STACK", "Response::" + results);
    } catch (IOException e) {
        e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Oauth2 给出“invalid_request”响应以获取访问令牌和刷新令牌 的相关文章

随机推荐

  • 如何对放置在详细信息带中的子报表返回的值求和?

    I have a report and a subreport that basically prints this 这是主要报告的代码
  • 为什么一元 * 运算符没有“操作数不得是指向 void 的指针”的约束?

    C2x 6 5 3 2 地址和间接运算符 约束 2 一元 运算符的操作数应为指针类型 为什么没有 操作数不能是指向的指针 的约束void 虽然可以从以下推论 C2x 6 5 3 2 地址和间接运算符 语义 4 The 一元 运算符表示间接
  • 用C读取YUV图像

    如何读取任何 yuv 图像 如何将 YUV 图像的尺寸传递到缓冲区以进行读取 通常 当人们谈论 YUV 时 他们谈论的是YUV 4 2 0 您参考的anyYUV 图像具有误导性 因为有多种不同的格式 并且每种格式的处理方式不同 例如 原始
  • foreach Laravel-5 <选项选择

    我尝试了很多代码变体 并试图在其他主题中找到类似的问题 所以 我有表 users 其中每个用户都有一个城市 存储为数字 当然还有带有城市 ID 和名称的表 city 有 40 个城市 当真实用户打开他的个人资料设置页面时 我希望选择他的城市
  • JavaScript 随机顺序函数

    我有以下问题 我想调用我的函数func1 func2 func3 以随机顺序 但我想确定的是every函数被调用 如果可能的话 不使用任何函数也很好 只是代码序列的随机顺序 像这样 function xy Call this sequenc
  • Java/JAXB:根据属性将 Xml 解组到特定子类

    是否可以使用 JAXB 根 据 xml 的属性将 xml 解组到特定的 Java 类
  • 如何使用 AWS Rekognition 在 Swift 3 中比较人脸

    我一直在尝试使用 AWSRekognition SDK 来比较人脸 然而 亚马逊没有关于如何将其 SDK 与 iOS 集成的文档 他们有显示如何使用识别的链接 开发者指南 仅提供 Java 示例 而且非常有限 我想知道是否有人知道如何在 S
  • 创建自定义 Windows 10 通知框

    在Windows 10中 右下角有那些灰色的通知框 当您插入 USB 安装更新或 Windows Defender 发现病毒时 它们就会出现 我的问题 我怎样才能创造这些东西 使用自定义消息 如果可能的话 可以在 vbs 或批处理中使用 因
  • 显示加载程序,直到实时链接图像未完全加载 React Native 0.58

    我从 api 接收到一个 JSON 数组 其中图像具有实时链接 因此 在成功渲染数据后 问题是我想显示 gif 直到图像完全加载 该数组是 category Loose Flower id 7 product name Drb Tls Bl
  • Spring MVC:在处理程序方法中的新浏览器窗口中打开链接

    我有一个处理链接点击的控制器 在处理程序方法中 我必须做一些事情 在数据库上 并在新窗口中打开单击的网址 类似于 blank链接中的属性 我使用 redirect url 但它当然会在同一窗口中重定向 有任何想法吗 RequestMappi
  • Java Swing UI 属性列表? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 似乎有大量的 UI 属性可以设置 UIManager put key value 是否有可以设置的所有键的列表 我找到了 Nimbus 外观中使用的
  • 如何选择两列来用数据框绘制?

    apple是一个dataframe 其数据结构如下 apple Date Open High Low Close Adj Close 0 2017 01 03 115 800003 116 330002 114 760002 116 150
  • R中rbind()和bind_rows()之间的区别

    在网络上 我发现rbind 用于按行组合两个数据帧 并且执行相同的任务bind rows 函数来自dplyr 这两种功能有什么区别 哪一种更有效 除了一些差异之外 使用的主要原因之一bind rows over rbind是组合两个具有不同
  • 在 Fortran2003 中,一维假定形状数组可以与 C 互操作吗?

    在 Fortran 2003 中 可分配数组为not与 C 互操作 我认为这与存储在内存中的附加数组信息有关 这可能会干扰 C 解释 但是 如果我将虚拟参数声明为一维假定形状数组怎么办 例如 subroutine outter subrou
  • 如何在Android中的绘画应用程序中实现撤消功能?

    我想在我的应用程序中执行撤消功能 为此 我进行了搜索 发现采用 x y 点的数组列表 我在下面的代码中完成了这些操作 但我无法撤消绘图 public Drawview Context context float x float y int
  • Tkinter:如何检查使用一个函数单击了哪个按钮?

    我一直在搞 Tkinter 并想出了这个 from tkinter import root Tk def red color change color label configure fg red def blue color change
  • 多个 pandas 列上的布尔索引[重复]

    这个问题在这里已经有答案了 尽管至少有two good有关如何在 Python 中索引 DataFrame 的教程pandas图书馆 我仍然无法找到一种优雅的方式SELECTing 超过一列 gt gt gt d pd DataFrame
  • Android picasso,错误原因

    如何获取 picasso 中的错误描述 Picasso with context load getUrl placeholder R drawable user thumbnail big error android R drawable
  • GWT 2.6 安装问题

    我刚刚安装了 GWT 2 6 现在收到错误 描述资源路径位置类型 文件 war WEB INF lib gwt servlet jar 与 GWT SDK 库 gwt servlet jar 的大小不同 也许这是一个不同的版本 gwt se
  • Google Oauth2 给出“invalid_request”响应以获取访问令牌和刷新令牌

    如何获取 XMPP 的 google 身份验证的访问令牌和刷新令牌 我成功获得了授权代码 但现在我需要获取访问令牌和刷新令牌 但是当我使用下面的代码在 Android 中执行请求时 我得到了响应 错误 无效请求 HttpPost reque