1

pdf ファイル形式のローカル ドライブを添付し、PHP CURL を使用して API に投稿する必要があります。

RingCentral FaxOut API ドキュメントはこちら

$url = "https://service.ringcentral.com/faxapi.asp";

$data = array(

    'Username' => 'XXXXXXXXX', 
    'Password' => 'XXXXXXXXX',
    'Recipient' => 'XXXXXXXXXX|Navneet',
    'Coverpage' => 'Default',
    'Coverpagetext' => 'Testing Faxout API ',
    'Resolution' => 'High',
    "Sendtime"   => date('d:m:y H:i:s'),
    'Attachment' => file_get_contents(PATH_TO_FILE)

);

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch,CURLOPT_POST, count($data));
curl_setopt($ch,CURLOPT_POSTFIELDS, $data);

$result = curl_exec($ch);

API は応答として何も返しません。添付ファイルを正しく送信していないと思います。添付ファイルはバイナリ ストリームである必要があります。base64_encode を試しましたが、成功しませんでした。

リクエスト本文の例にあるように、添付ファイルのヘッダーは次のようにする必要があります

Content-Disposition: form-data; name="Attachment"; filename="C:\example.doc" 
<Document content is here>
-----------------------------7d54b1fee05aa
4

2 に答える 2

0

CURL を使用して何でも API に POST できます$doc。私の例では、投稿したいものは何でも、それは json_encoded ファイル、base64_encoded 画像、pdf、その他何でもかまいません。

$baseUri = https://service.ringcentral.com/faxapi.asp;

$doc = file_get_contents(PATH_TO_FILE);

$ci = curl_init();
curl_setopt($ci, CURLOPT_URL, $baseUri);
curl_setopt($ci, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ci, CURLOPT_FORBID_REUSE, 0);
curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ci, CURLOPT_POSTFIELDS, $doc);

// also you can specify any specific header like this : 

$h1['Content-Disposition'] =  'Content-Disposition'. ': ' . 'form-data'; // headers are key-value pairs right ? 

curl_setopt($ci, CURLOPT_HTTPHEADER, array_values($h1));  // you can use this line for each header as a new key-value pair 

$h2['name'] =  'name'. ': ' . 'Attachment'; 
curl_setopt($ci, CURLOPT_HTTPHEADER, array_values($h2));
$h3['filename'] =  'filename'. ': ' . 'C:\example.doc'; 
curl_setopt($ci, CURLOPT_HTTPHEADER, array_values($h3));

$response = curl_exec($ci);

**注** : まず最初に file_get_contents 関数が機能するかどうかを確認することをお勧めします: 別の php ファイルでこれを確認してください:

echo file_get_contents(PATH_TO_FILE);

正しく鳴るか確認する

于 2014-11-09T19:29:13.977 に答える