【发布时间】: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