GitHub의 GraphQL API를 사용해보기

6603 단어 GraphQL
GitHub에 API에 액세스하고 싶었기 때문에 사용법을 조사한 요약

GitHub API



GitHub의 API에는 REST API와 GraphQL API가 있습니다.
  • REST API (V3) htps : // / cs. 기주 b. 이 m / 그럼 / f Ree-p-ro m @ st / rest
  • GraphQL API (V4) htps : // / cs. 기주 b. 이 m / 그럼 / f Ree - p-ro-te-m @ st / g 등 phql

  • 아래에서는 GraphQL을 사용하기로 결정합니다.

    시도한 환경


  • GitHub 계정
  • 등록해 둔다

  • Insomnia
  • API 클라이언트 소프트웨어로 Insomnia 사용
  • Postman과 같은 다른 클라이언트 소프트웨어


  • 준비



    액세스 토큰 얻기



    Creating a personal access token - GitHub Docs에 따라 토큰 얻기
  • 등록 된 이메일 주소 확인
  • GitHub에 로그인하고 페이지 오른쪽 상단의 메뉴에서 설정을 클릭합니다.
  • 왼쪽 메뉴에서 Developer settings를 클릭합니다.
  • 왼쪽 메뉴에서 개인 액세스 토큰을 클릭합니다.
  • [Generate new token]을 클릭
  • Note에 토큰 설명 작성

  • Select scopes로 다음 항목을 확인합니다 (나중에 변경 가능)
  • repo
  • 사용자
  • admin:org > read:org
  • admin:public_key > read:public_key
  • admin:repo_hook > read:repo_hook
  • admin:gpg_key > read:gpg_key

  • Generate token을 클릭
  • 생성된 토큰을 기록해 둔다(재표시는 할 수 없기 때문에, 확실하게 보존해 둔다)
  • organizations가 Single Sign-On을 설정하면 Enable SSO를 열고 대상 리포지토리를 Authorise

  • GraphQL API 던지기


  • Insomnia 시작
  • New Request에서 새로운 요청 만들기

  • 엔드포인트에 다음을 입력
    https://api.github.com/graphql
    

  • Auth 탭을 클릭하고 Basic Auth를 선택하고 아래와 같이 입력
  • USERNAME : GitHub 계정 이름 입력
  • PASSWORD : 방금 생성한 토큰 입력


  • Body 탭을 클릭하고 GraphQL Query를 선택하고 아래와 같이 입력
    query{
      user(login: "ログインユーザー名"){
        login
        name
      }
    }
    
  • Send를 클릭

  • 잘하면 JSON 형식의 응답이 반환됩니다.
    {
      "data": {
        "user": {
          "login": "ログインユーザー名",
          "name": "指定していた名前"
        }
      }
    }
    



  • 스키마 확인



    스키마 정의를 확인할 수 있습니다.
  • Insomnia에서 schema를 클릭 한 다음 Show Documentation을 클릭합니다.
  • 창의 오른쪽에 스키마 정의가 표시됨

  • 쿼리



    몇 가지 유형의 쿼리, 뮤테이션을 사용해보십시오.

    리포지토리 가져오기


  • 사용자 이름 (또는 조직 이름), 리포지토리 이름으로 리포지토리 가져 오기



  • 별칭 및 조각을 사용하여 사용자 얻기





    끌어오기 요청 받기





    문자열로 리포지토리 검색


  • Variables 쿼리에 제공된 문자열로 검색



  • 뮤테이션



    별을 달다


  • starrableId는 리포지토리 쿼리에서 사용 가능id을 지정합니다
  • .



    풀릭을 Approve 한다


  • pullRequests에서 얻은 id에서 지정



  • 풀릭 병합


  • pullRequests에서 얻은 id에서 지정

  • 좋은 웹페이지 즐겨찾기