2017-11-11 9 views
0

Nodejs를 사용하여 GH API를 사용하여 readme 파일의 내용을 읽어야하는 간단한 웹 응용 프로그램을 작성하고 있습니다.Github API - 인증 된 요청을 만드는 방법은 무엇입니까?

모든 것이 작동하지만 인증 된 사용자로 요청을 작성하는 방법을 정렬 할 수 없습니다.

멍청한 녀석은 여기에 있습니다. :-) 내 클라이언트와 비밀 키 또는 access_token을 매개 변수로 내 URL에 추가하는 것으로 충분하지 않습니까? 나는 두 가지를 모두 시도해 봤으며 둘 다 60 개의 요청 후에 시간 초과가되는 것 같지만 대신 5000 개의 문서를 말한다.

나는이 사이트를 보았다. Github Rate Limits 그러나 나는 그것이 말하는 것을했다고 생각한다.

내 서버에 토큰을 추가해야합니까? 공개 키와 비공개 키가 작동하는 방식처럼? 죄송 합니다만,이 사실을 이해하려고 노력하고 있습니다.

+0

로 만든 토큰을 사용했다. – Poonacha

답변

0

최근 Github에서 문제 목록을 얻으려는 나를 위해 일했습니다. 서버 또는 유사품에 설정된 것은 없습니다.

나는 그냥 GitHub의 검색을 실행하는 경우하는 사용자 정의 속도 제한 (최소 30 보통)을 처리해야 요청주의 https://github.com/settings/tokens/new

const chalk = require("chalk"); 
const sa = require("superagent"); 
const { getProperty } = require("../context"); 

async function getIssues(org) { 
    try { 
    const url = `https://api.github.com/orgs/${org}/issues?state=open`; 
    const apiToken = await getProperty("github.token"); 
    const res = await sa 
     .get(url) 
     .set("Authorization", `token ${apiToken}`) 
     .send(); 
    res.body.forEach(issue => { 
     console.log(issue.title); 
    }); 
    } catch (err) { 
    console.error(err); 
    } 
} 

module.exports = getIssues; 
+0

컨텍스트 파일이 무엇인지 물어볼 수 있습니까? 분명히 토큰을 제거해야한다는 것을 알고 있지만, 호출중인 파일에 함수를 만든 것처럼 보입니다. –

+0

죄송합니다. 약간 줄여야합니다. 'getProperty'는 Github에서 만든 토큰을 리턴합니다. (이것은 큰 시스템에서 발췌 한 것입니다.) 중요한 비트 인 '.set ("Authorization",'token $ {apiToken}')'입니다. – lecstor