RestSharp를 사용하여 Mailchimp API 3.0에 계정 세부 정보를 쿼리 할 때 "API 키가 없습니다"오류가 발생합니다.

구스타프 에릭슨

RestSharp를 사용하여 MailChimp 계정의 계정 세부 정보를 쿼리 할 때 "API 키가 없습니다"와 함께 "401 : 무단"메시지가 표시됩니다.

우리는 동일한 방법을 사용하여 여러 다른 방법으로 RestClient를 만들고 있으며 모든 요청에서 완벽하게 작동합니다. 그러나 RestRequest URI가 비어 있음을 의미하는 계정 세부 정보를 요청하려고하면이 이상한 오류와 메시지가 표시됩니다.

예 :

private static RestClient CreateApi3Client(string apikey)
{
    var client = new RestClient("https://us2.api.mailchimp.com/3.0");
    client.Authenticator = new HttpBasicAuthenticator(null, apiKey);

    return client;
}

public void TestCases() {
    var client = CreateApi3Client(_account.MailChimpApiKey);

    var req1 = new RestRequest($"lists/{_account.MailChimpList}/webhooks", Method.GET); 
    var res1 = client.Execute(req1); // works perfectly 

    var req2 = new RestRequest($"automations/{account.MailChimpTriggerEmail}/emails", Method.GET); 
    var res2 = client.Execute(req2); // no problem

    var req3 = new RestRequest(Method.GET); 
    var res3 = client.Execute(req3); // will give 401, api key missing

    var req4 = new RestRequest(string.Empty, Method.GET); 
    var res4 = client.Execute(req4); // same here, 401
}

Postman에서 API 호출을 시도하면 모든 것이 잘됩니다. https://us2.api.mailchimp.com/3.0, 기본 인증을 사용하는 GET은 모든 계정 정보를 제공하며 C #에서 디버깅 할 때 모두 동일하게 보입니다.

RestSharp 또는 MailChimp API의 버그를 비난할지 여부를 결정하려고합니다. 비슷한 문제가있는 사람이 있습니까?

구스타프 에릭슨

몇 시간 후에 마침내이 문제의 원인을 찾았습니다 ..

RestSharp가 요청을 https://us2.api.mailchimp.com/3.0/할 때 후행 '/'를 생략하도록 선택합니다 (예 : RestRequest에 구체적으로 추가하더라도 new RestRequest("/", Method.GET)).

그래서 요청은 https://us2.api.mailchimp.com/3.0

이것은 '에 리디렉션 서버 측 의한 https://us2.api.mailchimp.com/3.0/"( 함께 이 리디렉션 인증 헤더 멀리 세정 어떤 이유로 후행'/ ') 및 대있다.

그래서 우리는

new RestRequest("/", Method.GET)

몇 가지 매개 변수 ( req.AddParameter("fields", "email"))를 사용하여 후행 '/'를 스크럽하지 않지만 실패했습니다.

RestSharp를 "속일"수있는 유일한 방법은 다음과 같이 좀 덜 섹시하게 작성하는 것입니다.

new RestRequest("/?fields=email", Method.GET)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관