2013-06-12 3 views
1

Я пытаюсь разработать приложение c#, которое отправляет HttpWebRequest в BitBucket API.
Я пытаюсь получить доступ к указанному ниже URL-адресу.Доступ к bitbucket api 403 Forbidden

https://bitbucket.org/api/1.0/repositories/MyUserName/MyRepo/changesets 

C# Код

string url = "https://bitbucket.org/api/1.0/repositories/MyUserName/MyRepo/changesets"; 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.Credentials = new NetworkCredential("MyUserName", "MyPassword"); 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

Это дает мне 403 error что означает учетные данные правильны, но эти полномочия не предоставляют разрешений абонента для доступа к ресурсу.

Я не знаю, как исправить это. Я предполагаю, что некоторые конфигурации должны делать в битбакете, но понятия не имею. Я являюсь владельцем этого репозитория.

Прошу совета.

ответ

1

Добавление заголовка, как показано ниже решить мою проблему.

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

Это не значит, что учетные данные верны.

Вы не можете использовать NetworkCredential таким образом. Пожалуйста, прочитайте только строку, описывающую NetworkCredentials

Вы должны:

  • процесса входа Simulate.
  • Получить печенье
  • Создать CookiesAwareWebClient
+0

по API он говорит, что https://confluence.atlassian.com/display/BITBUCKET/Use+the+Bitbucket+REST+APIs#UsetheBitbucketRESTAPIs-Authentication –

+0

Вы читали ссылку? Также: http://stackoverflow.com/questions/1702426/httpwebrequest-not-passing-credentials –

Смежные вопросы