GitHub GraphQL API v4 使用

本文讲解GitHub GraphQL API v4 的简单使用方法

认证

要与GitHubCraphQL服务器通信,需要现有可用的OAuth令牌。点此打开创建token页面,完成申请。官方申请教程

GraphQL端点

GraphQL API只有一个地址为:https://api.github.com/graphql

发起请求

设置header

headers: {
  Authorization: 'bearer token'
}

简单curl请求示例

curl -H "Authorization: bearer token" -X POST -d " \
 { \
   \"query\": \"query { viewer { login }}\" \
 } \
" https://api.github.com/graphql

在Node.js中发起请求

安装请求客户端

yarn add graphql-request

使用示例

const { GraphQLClient } = require('graphql-request')
const endpoint = 'https://api.github.com/graphql'
const graphQLClient = new GraphQLClient(endpoint, {
  headers: {
    authorization: `bearer ${token}`
  }
})
// 查询指定组织下代码库列表
const query = `
  { 
    organization (login:"cyytemplate"){
      repositories(first:100){
        totalCount
        nodes {
          name
          description
          resourcePath
          updatedAt
        }
      }
    }
  }
`
const data = await graphQLClient.request(query)
// 查询指定组织下指定仓库名的代码数据
const query = `
  { 
    organization (login:"cyytemplate"){
      repository(name:"${name}"){
        name
        description
        resourcePath
        updatedAt
      }
    }
  }
`
const data = await graphQLClient.request(query)

explorer

官方提供的在线请求工具

注意事项

不要把GitHub生成的token编码到代码中,并提交到GitHub,GitHub的安全机制,会检查到,并立刻将该token删除

参考连接

GitHub API
graphql

https://juejin.im/post/5de8e95451882512523e6e2f

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论