我正在尝试从我的ClickBank项目访问Delphi,以检查客户是否拥有有效的订阅。
我找到了API文档here,但是没有Delphi的例子。所以我试着创建我自己的小例子,但是我就是不能用Indy的TIdHTTP解决这个问题。
有人能给我指出正确的方向吗,或许可以举个最小的例子?
附言:我试着看了C#示例,但是我不能把它移植到Delphi.
发布于 2011-05-21 02:13:00
在这里可以找到ClickBank示例C# https://sandbox.clickbank.com/api_12_examples/api_example.csharp
应用程序响应请求= ( HttpWebRequest ) WebRequest.Create("https://api.clickbank.com/rest/1.2/orders/list");request.Accept =“
/xml”;request.Headers.Add(HttpRequestHeader.Authorization,"<< DEVELOPER KEY >>:<< API KEY >>");request.Method = "GET";HttpWebResponse response = (HttpWebResponse) request.GetResponse();
PHP版本是https://sandbox.clickbank.com/api_12_examples/api_example.php
你会发现他们在这里并没有做太多的设置...只需设置两个头并执行GET。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.clickbank.com/rest/1.2/orders/list");
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_GET, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Accept: application/xml",
"Authorization: << DEVELOPER KEY >>:<< API KEY >>"));
$result = curl_exec($ch);
curl_close($ch);在Delphi中,一个快速演示是在窗体上放置一个TIdHTTP1客户端,以及一个按钮和一个备忘录。然后单击该按钮(其中xxx=您的开发人员密钥,yyy=您的API键)执行相同的操作-设置两个头并执行GET:
IdHTTP1.Request.Accept := 'application/xml';
IdHTTP1.Request.CustomHeaders.Add('Authorization: xxx:yyy');
Memo1.Text := IdHTTP1.Get('https://api.clickbank.com/rest/1.2/orders/list');https://stackoverflow.com/questions/6072222
复制相似问题