【问题标题】:Mailchimp API Put or Patch using Delphi RESTMailchimp API Put 或 Patch 使用 Delphi REST
【发布时间】:2020-10-15 02:46:10
【问题描述】:

我有一个程序可以通过 API 连接到 mailchimp 并下载数据,我现在需要能够更新某些电子邮件地址并添加新地址。在 Mailchimp 布局中,我有一个名为

的自定义合并字段

MMMERGE6 是一个文本字段。

我需要能够使用新值更新此字段。

我尝试在 REST 调试器中构建请求,尽管 REST 调试器没有返回错误,但似乎没有发生更新。我在 stackoverflow 上的某处发现了一篇文章,它说 mailchimp 存在一个问题,与帖子内容需要放在哪里以及如果它在错误的位置失败有关。

我的代码如下,但我现在非常卡住。


unit mailud;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, REST.Types, Vcl.StdCtrls, REST.Client,
  REST.Authenticator.Basic, Data.Bind.Components, Data.Bind.ObjectScope;

type
  TForm1 = class(TForm)
    RESTClient1: TRESTClient;
    RESTRequest1: TRESTRequest;
    RESTResponse1: TRESTResponse;
    HTTPBasicAuthenticator1: THTTPBasicAuthenticator;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

(* For Visibility

RESTRequest1.baseurl:='https://us10.api.mailchimp.com/3.0/lists/dc2af4377f/members/c266cac4b1560b2e88cc893a9a0a1d2c';

*)

(* Trying to Update the Content of Merge_Fields MMERGE6 which is a JSON OBJECT *)
(*  Code from REST Debugger Returns No Errors but update fails *)
(* Note on Stackexchange mentions https://stackoverflow.com/questions/38388838/mailchimp-api-v3-add-member-to-list-with-merge-fields
*)

RESTRequest1.Method := TRestRequestMethod.rmPUT;
RESTRequest1.Params[0].Value:='{merge_fields: {"MMERGE6":  "99999999"}}';
RESTRequest1.AddBody('{merge_fields: {"MMERGE6":  "99999999"}}');
restrequest1.Execute;


end;

end.

任何帮助将不胜感激。 谢谢 菲尔

【问题讨论】:

    标签: rest delphi mailchimp-api-v3.0


    【解决方案1】:

    我今天又试了一次,并将请求更改为 Put 请求。

    mystring:='{ "merge_fields": { "MMERGE6":  "39999999"  } }';
    
    
    
    
    restrequest1.Body.Add(mystring);
    restrequest1.Execute;
    

    我还对变量名进行了双引号,现在它可以工作了!

    我没有尝试过作为 put,因为这样可以实现我想要的结果,即允许我更新记录并插入新记录。

    【讨论】:

      猜你喜欢
      • 2017-01-05
      • 2019-07-18
      • 2017-02-10
      • 2019-04-01
      • 2014-08-06
      • 2022-12-24
      • 2018-01-08
      • 2018-03-17
      • 2021-01-24
      相关资源
      最近更新 更多