我已经在Wordpress的插件中编写了一些代码,当用户点击提交按钮时,他们的信息存储在WP数据库中,并使用JSON protocalls将其信息发送到第三方网站。
这是我使用的代码(“$ bemail”和$ password指的是同一文件中代码的早期部分):
$url = "https://api.example.com/v1/logins";
$data = array(
'email' => $_POST['$bemail'],
'password' => $_POST['$password'],
);
$content = json_encode($data);
$curl = curl_init($url);
$apikey = "xxxx";
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'example.com-Api-Key: ' . $apikey,
'Accept: application/json',
));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
我收到来自第三方网站的回复错误,例如:
“错误:电子邮件和密码不能为空”
告诉我没有发送电子邮件和密码。
我在这里错过了什么?
谢谢。
答案 0 :(得分:0)
要告诉接收服务器期望JSON,请使用Content-Type
标头而不是Accept
:
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'example.com-Api-Key: ' . $apikey,
// remove this line -> 'Accept: application/json',
'Content-Type: application/json'
));
答案 1 :(得分:0)
我建议的第一件事就是使用我们在这里可以找到的PHP API客户端:https://github.com/sproutvideo/sproutvideo-php
创建登录的文档位于:https://github.com/sproutvideo/sproutvideo-php#create_login
您还可以登录自己的帐户并转到http://sproutvideo.com/api_history
,查看服务器端收到的内容如果您对使用API进行设置有任何疑问,请直接与我们的客户支持联系!