如何将 Github API v4 (graphql) 与 javascript XMLHttpRequest 一起使用

Posted

技术标签:

【中文标题】如何将 Github API v4 (graphql) 与 javascript XMLHttpRequest 一起使用【英文标题】:How to use Github API v4 (graphql) with javascript XMLHttpRequest 【发布时间】:2020-11-02 00:46:29 【问题描述】:

我正在尝试在 github 上使用 graphql 和 XMLHttpRequest 和 javascript 来获取信息,但是当我尝试我的代码时,什么也没有发生。我已经尝试过文档,但仍然没有得到它。 PS:我只是倾斜并给了我的个人令牌所有访问权限。

const githubURL = "https://api.github.com/graphql";
const token = "MY_PERSONAL_TOKEN";
const submitButton = document.querySelector(".botao");
submitButton.addEventListener("click", githubLoad);
let githubQuery = 
  query: `
      viewer 
          login
      
  `,
;

function githubLoad() 
  let http = new XMLHttpRequest();
  http.open("POST", githubURL, true);
  http.setRequestHeader("Content-type", "application/json");
  http.setRequestHeader("Authorization", "Bearer " + token);
  http.send(JSON.stringify(githubQuery));

  console.log(http.responseText);

【问题讨论】:

【参考方案1】:

经过很长时间,我发现 GitHub API V4 仅在我更改此行时才有效:

http.open("POST", githubURL, true);

to

http.open("POST", githubURL, false);

github 文档中没有关于异步性的信息。刚刚在尝试和错误中发现。

【讨论】:

以上是关于如何将 Github API v4 (graphql) 与 javascript XMLHttpRequest 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

通过 Github Graphql v4 API 列出所有用户

GitHub API v4:如何使用分页进行遍历? (GraphQL)

如何在 GitHub v4 API 中查询特定标签的目录内容?

使用 Apollo-Client 对 GitHub API v4 进行身份验证

markdown Github API v4 GraphQL

获取所有存储库查询 Github v4 API