2016-02-17 5 views
1

Когда я отправляю кампанию в Mailchimp с помощью RestSharp, она сообщает мне, что мой ключ API отсутствует, но когда я нажимаю «Получить кампанию», он успешно показывает мне все данные кампании.Ошибка ключа «RestSharp/MailChimp API»

Может ли кто-нибудь сказать мне, где я ошибаюсь? Вот мой код:

public MailChimpPostModel PostCampaign(MailChimpPostModel post) 
{ 
    var auth = _userBusinessObject.GetUserWebsiteAuthorizationByWebsite(_userId, 
                    _websiteId, 
                    _linkvanaNetworkSiteId); 
    ApiBaseUrl = <url> ; 
    if (auth == null) 
     throw new RestRequestResponseException { Error = RestErrorsEnum.NotAuthenticated }; 

    var request = new RestRequest(3.0/campaigns, Method.POST); 
    request.AddParameter("access_token", <Token>); 
    request.AddParameter("apikey", <Token> + "-" + <dc>); 
    request.AddHeader("content-type", "application/json"); 
    request.AddBody(post); 
    var response = Execute<MailChimpPostModel>(request); 
    return response; 
} 
+0

Я улучшил грамматике и форматирование этого поста немного - надеюсь, это сделает его более легким для других, чтобы ответить вам. – yochannah

+0

Может быть опечатка? изменение: request.AddParameter ("apikey", + "-" + ); : request.AddParameter ("apikey", + "-" +); – Daniel

+0

Добавляет ли AddParameter в строку запроса? Если да, это проблема. Это не поддерживаемый метод проверки подлинности для POST. Это позволяет GET упростить отладку. Вы захотите использовать базовую аутентификацию HTTP. – TooMuchPete

ответ

1
// replace usX to match the last 3 of your API 
var client = new RestClient("https://usX.api.mailchimp.com/3.0/"); 
client.Authenticator = new HttpBasicAuthenticator("user", APIKey); 
Смежные вопросы