GitHubAPI로 여러 계정의 잔디를 함께 표시
TL;DR
GitHub의 회사용 계정과 개인용 계정의 잔디를 자신의 웹사이트에 정리해 표시해 보았습니다.
GitHub의 GraphQL API 을 두드리는 것으로 풀 정보를 취해 이것이므로, 그것을 자신의 웹 사이트에서 표시시켜 드리겠습니다.
절차
GitHub 액세스 토큰 발급
여기에서 Personal access token을 발행합니다.
htps : // 기주 b. 코 m / 세팅 gs / 토켄 s
구체적인 순서는 공식 문서의 설명을 알기 쉽기 때문에 그쪽을 참조하십시오.
이번에는 여러 계정에 액세스하지만 잔디 정보 등의 공개 정보이면 어떤 계정의 액세스 토큰으로도 얻을 수 있으므로 어느 하나로 괜찮습니다.
잔디 정보 얻기
이 사이트를 참고로했습니다.
htps // // 천. 에서 v / 유이 ch 군 / archi c ぇ s / b207651f5654b0
구체적인 절차는 다음과 같습니다.
GitHub 액세스 토큰 발급
여기에서 Personal access token을 발행합니다.
htps : // 기주 b. 코 m / 세팅 gs / 토켄 s
구체적인 순서는 공식 문서의 설명을 알기 쉽기 때문에 그쪽을 참조하십시오.
이번에는 여러 계정에 액세스하지만 잔디 정보 등의 공개 정보이면 어떤 계정의 액세스 토큰으로도 얻을 수 있으므로 어느 하나로 괜찮습니다.
잔디 정보 얻기
이 사이트를 참고로했습니다.
htps // // 천. 에서 v / 유이 ch 군 / archi c ぇ s / b207651f5654b0
구체적인 절차는 다음과 같습니다.
https://api.github.com/graphql
로 설정 Authorization: Bearer [発行したアクセストークン]
) 잔디 정보 만 있으면 다음 쿼리로 얻을 수 있습니다.
사용자 ID를 변경하여 계정 당 잔디 정보를 얻을 수 있습니다.
{
user(login: [ユーザーIDを入れる]) {
contributionsCollection {
contributionCalendar {
weeks {
contributionDays {
contributionCount
}
}
}
}
}
}
응답은 다음과 같습니다.
풀 정보 (각 날의 contribution 수)는
contributionCount
라는 이름으로 주별로 배열로 반환됩니다.{
"data": {
"user": {
"contributionsCollection": {
"contributionCalendar": {
"weeks": [
{
"contributionDays": [
{
"contributionCount": 0
},
{
"contributionCount": 1
},
{
"contributionCount": 5
},
{
"contributionCount": 17
},
{
"contributionCount": 3
},
{
"contributionCount": 5
},
{
"contributionCount": 6
}
]
},
...(省略)...
]
}
}
}
}
}
이미지는 GraphiQL의 예입니다.
웹사이트에서 보기
그리고는
contributionCount
에 들어있는 값을 사용해 표시할 뿐입니다.나는 계정마다 색상을 변경하여 표시하려고했습니다.
(덧붙여서 Vue.js입니다)
이 근처의 자세한 것은, 길어지는 & 코드가 더럽기 때문에 이번은 할애합니다만, grid로 사각형을 늘어놓고,
contributionCount
에 따라 background-color 바꾸어 하고 있습니다 웃음결론
위의 Gif에도 약간 비치고 있습니다만, GitHub API는 잔디 정보 뿐만이 아니라, 리포지토리 정보나 언어 정보등도 당겨 이것 때문에, 여러가지 할 수 있어 재미 있습니다.
GraphQL 공부도되기 때문에 꼭!
Reference
이 문제에 관하여(GitHubAPI로 여러 계정의 잔디를 함께 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Jun-T/items/92357939c06141c13e59
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(GitHubAPI로 여러 계정의 잔디를 함께 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Jun-T/items/92357939c06141c13e59텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)