尝试创建问题时 GitHub API 422 出现意外错误响应

2024-04-28

当向 GitHub API V3 发布问题时,我收到了意外的响应。即422不可处理的实体。但是,错误的详细信息是针对搜索端点的,而不是针对 POST 创建端点的。 {"message":"验证失败","errors":[{"resource":"搜索","field":"q","code":"missing"}],"documentation_url":"https://developer.github.com/v3/search https://developer.github.com/v3/search"}

我的直觉是我弄乱了 json,但它非常简单,我看不出问题。 我已经尝试过这里和其他地方发布的各种解决方案,但没有发现我做错了什么。这是一个编码练习,而不是任何用于生产的东西,但会让我有点疯狂。

  • 在发布之前在调试中测试请求正文是什么。 {"title":"你好世界","body":"dfsdfsdf\n"}
  • 尝试移除主体,因为它是可选的,同样的问题。
  • 在调试中测试请求为 POST 类型
  • 在调试中测试授权标头是正确的。
  • 删除授权密钥并按预期收到 401。

发帖功能:

func CreateIssue (issue *NewIssue) (*IssueDetailsResult, error){
issueJson, err := json.Marshal(issue)
if err != nil {
    log.Fatal(err)
    os.Exit(1)
}
req, err := http.NewRequest("POST", github.IssuesURL, bytes.NewBuffer(issueJson))
req.Header.Set("Authorization", "token "+os.Getenv("UPGITUSER"))
req.Header.Set( "Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
    log.Fatal(err)
    os.Exit(1)
}
if resp.StatusCode != http.StatusCreated {
    bodyBytes, _ := ioutil.ReadAll(resp.Body)
    body := string(bodyBytes)
    resp.Body.Close()
    return nil, fmt.Errorf("create issue failed:%s", resp.Status + "\ntext: " + body)
}
var result IssueDetailsResult
if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
    resp.Body.Close()
    return nil, err
}
resp.Body.Close()
return &result, nil

}

预计 GitHub API 会返回 201。


该响应强烈表明请求被发送到错误的端点。

您可以使用net/http/httputil's 转储请求输出 https://golang.org/pkg/net/http/httputil/#DumpRequestOut检查您将要发送的请求并确保它们符合您的期望。

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

尝试创建问题时 GitHub API 422 出现意外错误响应 的相关文章

  • Airbrake 抛出错误“pybrake - 错误 - strconv.ParseInt:解析“None”:无效语法”

    我正在尝试按照中描述的步骤在 Django 项目中使用 Airbrake 记录器https github com airbrake pybrake django integration https github com airbrake p
  • Go1编译器如何工作?

    我在一个学校项目中接触 Go 大约一个月了 我注意到 src pkg go 文件夹中的 go ast go token go parser 等包 但是 gc 编译器基于位于 src cmd gc 中的 C 文件 我的问题是关于 Go1 中用
  • gcloud 部署应用程序找不到导入包 - golang

    我已经将应用程序的一个版本部署到 GAE 但现在部署新版本时遇到问题 当我尝试时gcloud app deploy version VERSION 我收到一堆错误 显示远程构建找不到我的导入包 Beginning deployment of
  • 在 Go 中将 float 转换为 int 时如何舍入到最近的 int

    将 float 转换为 int 时 小数点将被丢弃 有什么干净的方法可以将其四舍五入到最接近的整数 x int 3 6 应等于 4 而不是 3 int f 0 5 如果 gt 5 将导致向上舍入
  • GitHub API - 语言列表

    GitHub API 中是否有一个端点可以为我提供 GitHub 上所有语言的列表 我正在寻找与 github com 网站上 趋势 部分中的语言下拉列表类似的结果 不是直接来自 GitHub API The OP敏捷王牌 https st
  • 当所有通道都关闭时中断 select 语句

    我有两个独立生成数据的 goroutine 每个将其发送到一个通道 在我的主 goroutine 中 我想在每个输出进入时使用它们 但不关心它们进入的顺序 每个通道在耗尽其输出时都会自行关闭 虽然 select 语句是像这样独立使用输入的最
  • 在 Go 中修改导入的库

    我的问题 弹性节拍 https www elastic co products beats是一个用 Go 编写的日志传送程序的开源项目 它具有多种日志输出功能 包括控制台 Elasticsearch 和 Redis 我想将我自己的输出添加到
  • Go 中的切片分块

    我有一个切片 其中包含约 210 万条日志字符串 我想创建一个切片切片 其中字符串尽可能均匀分布 这是我到目前为止所拥有的 logs is a slice with 2 1 million strings in it var divided
  • golang从sdin扫描一行数字

    我正在尝试从标准输入读取输入 3 2 1
  • Golang 网络爬虫 NTLM 身份验证

    Golang 网络抓取工具需要从经过 NTLM 验证的网页中提取信息 有了有效的用户名和密码 网络抓取工具如何与服务器进行 NTLM 4 次握手 以获得对后面受保护网页的访问权限 url username password http www
  • 如何顺序运行 golang 测试?

    当我跑步时go test 我的输出 FAIL TestGETSearchSuccess 0 00s Location drivers api test go 283 Error Not equal 200 expected 204 actu
  • 如何使用 Java 原生接口从 Java 调用 Go 函数?

    可以通过以下方式调用 C 方法JNA https en wikipedia org wiki Java Native AccessJava 中的接口 如何使用 Go 实现相同的功能 package main import fmt impor
  • 在 Go 中生成随机、固定长度的字节数组

    我有一个字节数组 固定长度为4 token make byte 4 我需要将每个字节设置为随机字节 我怎样才能以最有效的方式做到这一点 这math rand就我而言 方法不提供随机字节函数 也许有一种内置的方法 或者我应该生成一个随机字符串
  • 我想在后端验证来自 golang 前端的时区

    前端在注册期间发送时区以及其他用户详细信息 我需要在时区上放置一个验证器来进行 api 测试 时区数据的格式为 GMT 10 00 Hawaii GMT 08 00 Pacific Time US amp Canada 我所做的是定义数组中
  • 从 []byte 到 char*

    我想包装一个 C 函数 它需要一个char 指向非空字节缓冲区 的第一个元素 我正在尝试使用 CGo 将其包装在 Go 函数中 以便我可以将其传递给 byte 但我不知道如何进行转换 C 函数签名的简化版本是 void foo char c
  • 是否可以获取有关 Golang 中调用者函数的信息?

    是否可以获取有关 Golang 中调用者函数的信息 例如 如果我有 func foo Do something func main foo 我怎样才能得到那个foo已被呼叫来自main 我可以用其他语言实现这一点 例如在 C 中我只需要使用
  • 如何在 Go 应用程序中处理打开/关闭数据库连接?

    我的 Web API 应用程序中有一组函数 他们对 Postgres 数据库中的数据执行一些操作 func CreateUser db err sql Open postgres user postgres password passwor
  • GoQt 致命错误:QAbstractAnimation:没有这样的文件或目录

    我尝试编译 Qt 来开发桌面应用程序 我按照 Qt 网站上的官方 wiki 指南的说明进行操作 当我尝试go run示例文件夹中的示例 我收到错误 去运行 home pinkya rabbit workspace go1programs s
  • 如何在 Go 中解组具有多个项目的简单 xml?

    我想从以下 xml 中获取人物 People 的一部分
  • GitHub API:标记提交所属(与 git describe --tag 并行)

    我正在使用 GitHub API 进行实验octokit https github com octokit octokit rb红宝石 我的目标是能够提取提交 SHA 所属的 标签 现在我可以使用命令行轻松地执行此操作 gt git des

随机推荐

  • 我怎样才能残酷无情地中止 Java 中的任务?

    我用 Java 编写了一个数独求解器作为作业 目前我正在尝试找出它可能面临的有问题的输入 以使其变得更好 我已经生成了几千个数独网格David Bau 的数独生成器 http davidbau com archives 2006 09 04
  • WEKA 的重采样过滤器 - 如何解释结果

    我目前正在努力解决机器学习问题 而我必须处理大量不平衡的数据集 也就是说 有六个类 1 2 6 不幸的是有例如对于 1 类 有 150 个示例 实例 对于 2 有 90 个实例 对于 3 类 只有 20 个实例 所有其他类都无法 训练 因为
  • 优化 Web 应用程序开发策略

    如今 许多网络应用程序正在使用它们自己无法使用的 API 或代码 并且通常使用效率低下 我想到了一些谷歌地图混搭 对于 php asp 后端 HTML javascript 尤其是现在所有的 AJAX 存在许多潜在的瓶颈 问题 低效率和双重
  • 直接将函数与匿名函数传递给 then Promise 回调

    我试图理解这三个选项之间的区别 then myCallback then myCallback then gt myCallback The myCallback函数不返回任何内容 仅用于其副作用 因此我不需要它将任何内容传递回承诺链 我不
  • Magento:两种基于重量的统一运费

    尝试按如下方式设置我的运费 如果购物车总重量低于 1 公斤 则运费为 3 68 英镑 如果购物车总重量超过 1 公斤 则运费为 6 68 英镑 如果购物车总价超过 100 英镑 则免运费 我设法使用 6 68 英镑的统一费率将所有这些结合在
  • 如何获取带有完整月份名称的完整日期,例如 2015 年 11 月 2 日

    我想将完整月份的日期加载到文本框中 这意味着用户每次想要在文本框中保存日期时都会获得当前日期和时间 他们不会写任何东西 这是我想要的格式 2015 年 11 月 2 日 但没有得到我想要的结果 我得到了这个结果 DD NOV 2015 但这
  • 滚动播放 Html5 视频

    我正在一个 WordPress 网站上工作 下面的代码可以按照我想要的方式工作 只播放一次 最后出现 重播 按钮 我希望它在滚动到 ie 时开始播放 在视口中 我在这里看到了几种不同的方法来实现这一点 但我无法让它们与我当前的代码很好地配合
  • Android 上的查询何时返回 Null?

    我似乎没有找到任何有关查询 插入或任何其他返回 null 的 SQL 方法的信息 但如果发生错误 它就会发生 我只是想知道游标为空是否意味着发生了错误 或者是否意味着没有选择任何行 例如 我不知道应该如何对待它 作为一个错误或可能不时发生的
  • Ajax 成功时强制下载 .mp3 或 .zip 文件

    用户填写电子邮件验证表单 通过 AJAX 提交 后 如果 AJAX 调用响应成功 我想强制在当前浏览器窗口中开始下载 电子邮件验证表单如下所示
  • 如何将 const unordered_map 中的值分配给另一个 const 变量 - C++ [重复]

    这个问题在这里已经有答案了 include
  • 当您在 iPad 上的 Safari 浏览器中触摸 HTML 元素时,它会变成灰色。决定嵌套元素中哪个元素显示为灰色的逻辑是什么?

    当您触摸 iPad 上网页中的某个元素 例如编辑框 时 它会在您触摸时变成灰色 我有一张由浮动 div 包裹的桌子 当触摸数据元素时 整个表 或其包装 div 不会变灰 而不是单个数据元素或行变灰 该表的功能是自动补全弹窗 在网站的其他地方
  • 使用Java Compiler API编译多个java文件

    您好 我需要创建 编译和加载 java 类运行时 使用 FTL 我正在创建 java 源文件 并且如果没有动态依赖项 则能够编译源代码 为了详细说明一个实例 我有两个java源文件 一个接口及其实现类 我可以使用 java 编译器 api
  • 正则表达式删除外括号

    我一直在用这个 s s 正则表达式使用 PHP preg replace 函数删除外括号 在我上一个问题中了解更多信息正则表达式匹配除尾随空格之外的任何字符 https stackoverflow com questions 1076569
  • 通过标签收集自定义帖子类型

    我使用以下代码设置了名为 扇区 的自定义帖子类型 register post type sectors array labels gt array name gt Sectors singular name gt sectors has a
  • 交叉编译 Qt 4.7 时出现“非法指令”

    我已经在这个问题上苦苦挣扎了一个多星期了 但仍然找不到解决方案 我正在尝试为 ARM 设备交叉编译 Qt 4 7 嵌入式开源版本 构建过程本身可以顺利完成 但生成的二进制文件似乎包含处理器无法理解的指令 构建主机是 i386 上的 Debi
  • 如何获取 NSURLConnection 中的默认用户代理字符串?

    我想将文本附加到默认的用户代理标头NSURLConnection 我知道怎么做更改 NSURLConnection 的用户代理 https stackoverflow com questions 1532206 changing the u
  • Pymongo 仅以列表形式返回值

    以下 pymongo 查询为我提供了我需要的所有值 l list db rounds find current strategy PPStrategy4016 myFundsChange 1 id 0 myFundsChange 0 300
  • DataRow(数据表)中的链接

    我正在动态构建一个数据表 并尝试在要添加到数据表的数据行中添加一个 链接 DataTable 在创建后绑定到 GridView 像这样的东西 DataTable dataTable new DataTable foreach Item it
  • 在asp.net core中将字典发布到web api

    我有使用开发的简单 Web apiAsp Net Core我正在尝试使用 HttpClient 发布键值对 我尝试了两种方法 第一种方法 Route api controller action public class Transforma
  • 尝试创建问题时 GitHub API 422 出现意外错误响应

    当向 GitHub API V3 发布问题时 我收到了意外的响应 即422不可处理的实体 但是 错误的详细信息是针对搜索端点的 而不是针对 POST 创建端点的 message 验证失败 errors resource 搜索 field q