2012-07-13 3 views
3

C#에서 GitHub API v3을 사용하고 있습니다. 나는 액세스 토큰을 얻을 수 있고 그것을 사용하여 사용자 정보와 repo 정보를 얻을 수있다.GitHub API v3에 게시하는 방법

하지만 새 Repo를 만들려고하면 Unauthorized라는 오류가 표시됩니다.

아래에서 볼 수있는 데이터를 게시하려면 HttpWebRequest를 사용하고 있습니다. C# 샘플 또는 샘플 코드를 제안 해주십시오.

(..)string[] paramName, string[] paramVal, string json, string accessToken) 
{ 
    HttpWebRequest req = WebRequest.Create(new Uri(url)) as HttpWebRequest; 
    req.Method = "POST"; 
    req.ContentType = "application/json"; 

    StreamWriter writer = new StreamWriter(req.GetRequestStream()); 
    writer.Write(json); 
    writer.Close(); 

    string result = null; 
    using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse) 
    { 
     StreamReader reader = 
      new StreamReader(resp.GetResponseStream()); 
     result = reader.ReadToEnd(); 
    }(..) 

참고 : 내가 어디에 accesstoken을 추가해야하는지 모르겠습니다. 나는 url에서뿐만 아니라 헤더에서 시도했지만, 그들 중 누구도 작동하지 않습니다.

+0

는이 문제에 대한 해결책을 찾았나요? 나는 똑같은 문제가있다. – Gero

+0

https://github.com/octokit/octokit.net 또는 지금하고 싶은 부분을 모두 복사하기를 원하지 않는다면, 이것을 지금 사용하고 싶을 것입니다. 공개 github repo – RhysC

답변

2

C# Github API example code을 사용하고 있습니까? 나는 당신이 필요로하는 것을보기 위해 그 코드를 볼 것입니다.

+0

아니오. 나는 그것을 사용하지 않고있다. "초기 개발 단계. 인증은 현재 완료되었습니다." –

3

당신은 요청 헤더에 인증을 추가하여 아주 쉽게 기본 인증을 사용할 수 있습니다

request.Headers.Add("Authorization","Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(username +":"+password))); 

미안 havent 한 아직 액세스 토큰 물건을 사용.

1

현재이 토큰을 추가해야합니다

req.UserAgent = "My App"; 
req.Headers.Add("Authorization", string.Format("Token {0}", "..token.."); 
관련 문제