2016-07-22 81 views
-1

我已經將一些代碼寫入Wordpress的插件,當用戶點擊提交按鈕時,他們的信息存儲在WP數據庫中,並且還通過他們的電子郵件和密碼發送到第三方網站使用JSON protocalls。API使用CURL發送電子郵件和密碼

這是我使用(以下簡稱「$ bemail」和$密碼指的是代碼的早期部分在同一個文件)的代碼:

$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); 

我得到一個錯誤,從第3響應黨的網站是這樣的:

「錯誤:電子郵件地址和密碼不能爲空」

告訴我,電子郵件地址和密碼沒有被髮送。

我在這裏錯過了什麼?

謝謝。

+0

爲什麼要將用戶的電子郵件和密碼轉發給第三方? – BeetleJuice

+0

用戶支付使用我的WP網站,該網站使用視頻教育,但是,爲了查看用戶需要輸入他們的電子郵件和密碼到視頻本身的視頻,他們使用時註冊允許訪問和查看視頻。現在我必須手動上傳他們的電子郵件,並給他們一個密碼,以便他們能夠查看視頻。 – electricjelly

+0

好的。我寫了一個解決方案。 – BeetleJuice

回答

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' 
    )); 
+0

感謝您的迴應,在應用解決方案後,問題保持不變,確切響應如下:錯誤:調用URL https://api.example.com/v1/logins失敗,狀態爲400,響應{「錯誤「:{」errors「:{」email「:[」is invalid「,」can not be blank「],」password_confirmation「:[」can not be blank「],」password「:[」can not是空白「]}}},curl_error,curl_errno 0 -------------你認爲問題是我的代碼實際上並沒有拉用戶的表單信息? – electricjelly

+0

我不知道。可能是這樣,或者你沒有按照API的預期構建後期字段。 – BeetleJuice

0

我會建議的第一件事就是隻使用我們的PHP API客戶端,你可以在這裏找到:https://github.com/sproutvideo/sproutvideo-php

創建一個登錄的文檔是在這裏:https://github.com/sproutvideo/sproutvideo-php#create_login

您還可以看到正在通過登錄到您的帳戶,印度政府在服務器端收到什麼ng至http://sproutvideo.com/api_history

如果您有任何關於使用API​​進行設置的進一步問題,請直接與我們的客戶支持聯繫!

相關問題