MailChimp API V3 ПОЛУЧИТЬ

Я работаю с MailChimp API v3.0, чтобы связать небольшую базу данных Access 2016 с MailChimp с помощью VBA - я использую следующий код, чтобы проверить, существует ли электронное письмо в MailChimp, а затем получить статус подписчика в тестовом списке. Настроил. Однако он не возвращает правильный статус подписки:

Select Case Request
Case Is = "GET"
MailExist = False
MailSub = False
APIString = "search-members?query = "
With CreateObject("MSXML2.XMLHTTP")
    .Open Request, APIUrl & APIString & Criteria, False
    .setrequestheader "Authorization", "Basic " & APIAuth
    .send
    APIResponse = .responsetext
    If InStr(APIResponse, "{""exact_matches"":{""members"":[]") > 0 Then
        MailExist = False
        Else
        MailExist = True
        Set JSONControl = CreateObject("MSScriptControl.ScriptControl")
        JSONControl.language = "Jscript"
        APIString = "lists/a0da306709/members/"
        .Open Request, APIUrl & APIString & StringMD5(Criteria), False
        .setrequestheader "Authorization", "Basic " & APIAuth
        .send
        Debug.Print "CONTACT STATUS IS: " & .responsetext; Spc(2)
        Set Subber = JSONControl.Eval("(" + .responsetext + ")")
        If Subber.status = "subscribed" Then
            MailSub = True
            Else
            MailSub = False
        End If
    End If
End With
End Select

Вышеупомянутое в настоящее время возвращает «статус»: «подписан» в теле текста ответа, но когда я вхожу в MailChimp и просматриваю фактический контакт, их статус «отписан» (я тот, кто отписался от них через API ). Я проверил хеш MD5, чтобы определить правильность адреса электронной почты, и я не получаю никаких ответов об ошибках от MailChimp, поэтому я не понимаю, почему в ответе учетная запись отображается как «Подписка» ...

Похоже, вам следует обратиться в службу поддержки MailChimp. Если их API не возвращает правильные данные, мы не сможем вам помочь.

Erik A 07.09.2018 12:09

После небольшого дополнительного тестирования я вижу, что MailChimp не получает вызов GET, который является повторением более раннего. При просмотре «Последние 24 часа вызовов API» в MailChimp вызовы, которые я делаю для получения статуса подписчика для контакта, для которого я ранее выполнял вызов GET, вообще не отображаются. Закрытие и повторное открытие базы данных, по-видимому, подтверждает это, поскольку тот же код, запускаемый для того же контакта после повторного открытия, отображается как вызов GET в записи вызовов API mailchimp. Возможно, мне нужно уничтожить объект MSXML2.XMLHTTP?

MrClip 07.09.2018 12:58

Эх ... Вы создаете новый объект XMLHTTP с вашим оператором With. Каждый раз, когда вы запускаете этот код, вы генерируете новый вызов API. Mailchimp может кэшировать вызовы и возвращать кешированные результаты, но это снова вопрос службы поддержки.

Erik A 07.09.2018 13:02

Хорошо, я думаю, что нашел исправление для этого - похоже, что проблема была в объекте XMLHTTP, поскольку создание объекта 'MSXML2.ServerXMLHTTP' вместо этого позволяет мне выполнять несколько вызовов GET и получать правильный ответ вместе с звонок правильно регистрируется на конце MailChimp. Однако удивлен, почему!

MrClip 07.09.2018 14:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
290
0

Другие вопросы по теме