2014-11-26 5 views
0

PHP 컬 원시 데이터

"completed","email","role","first","last","title","company","agreementId","firstname","lastname" "2014-11-04 15:55:44","[email protected]","SIGNER","Abe","Taha","Web Developer","","2AAABLblqZhDrvBK47mPKPZW-VSAJKDHASFT42ESlPxOjYphH4C0A5_adasdasda6qnFCy2idJ8*","ABE","TAHA" 

모르겠어요이 내 코드

<?php //if (! defined('BASEPATH')) exit('No direct script access allowed'); 

require_once APPPATH."/libraries/REST_Controller.php"; 
require_once APPPATH."/libraries/echosign.php"; 

class Document_management extends Rest_Controller 
{ 
    public function get_access_token_get() 
    {  
    $echoSign = new EchoSign(); 

    $ch = curl_init('https://secure.echosign.com/api/rest/v2/auth/tokens'); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($echoSign->echosign_creds)); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 

    $result = json_decode(curl_exec($ch));  

    curl_close($ch);  

    return $result->accessToken; 
    } 

    public function get_agreements_get() 
    { 
    $accessToken = array("Access-Token: ".$this->get_access_token_get()); 

    $ch = curl_init('https://secure.echosign.com:443/api/rest/v2/agreements'); 
    curl_setopt($ch, CURLOPT_HEADER, true); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $accessToken); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); 

    $result = json_decode(curl_exec($ch)); 

    curl_close($ch); 

    $agreements = array(
     "agreementId" => $result->userAgreementList[0]->agreementId, 
     "name"   => $result->userAgreementList[0]->name, 
    );  

    return $agreements; 
    } 

    public function get_form_data_get($headers, $agreements) 
    { 
    $filepath = APPPATH."files/".$agreements['name']."csv"; 

    $url = 'https://secure.echosign.com:443/api/rest/v2/agreements/'.$agreements['agreementId'].'/formData'; 

    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);  
    //header("Content-type: text/csv"); 
    //header("Content-Disposition: attachment; filename=".$filepath); 

    $result = curl_exec($ch); 

    //echo "<pre>"; print_r($result); echo "</pre>"; exit(); 

    curl_close($ch); 

    } 

    public function download_file_get() 
    { 
    $headers = array("Access-Token: ".$this->get_access_token_get()); 

    $agreements = $this->get_agreements_get(); 

    $this->get_form_data_get($headers, $agreements); 
    } 


} 

?> 

브라우저의 출력은 단지 형식으로 양식의 RAW 데이터를 보냅니다 출력 API를 echosign하기 변수를 스트림에 저장하는 방법/심지어 데이터베이스에 저장하는 방법으로 분해합니다.

내가 PHP를 사용하여 시도했다 : 스트림을 읽을 수 있지만 그나마 데이터

답변

1

당신이 EchoSign REST API를 GET /agreements/{agreementId}/formData를 사용에 대한 자세한 내용을하려는 것 같습니다를 포맷하는 방법을 이해하기 위해 // 입력 또는 ReadFile을하고 다른 옵션을 출력됩니다. 위의 호출은 CSV (쉼표로 구분 된 파일)를 생성합니다.

호출이 성공하면이 반환 매개 변수에는 쉼표로 구분 된 양식 데이터 값이 포함되며 각 레코드는 줄 바꿈으로 구분됩니다. 첫 번째 줄에는 항상 헤더 값, 즉 모든 열의 키가 포함됩니다.

키가 agreementId 인 경우 특정 계약을 의미하는 경우 계약서 서명자마다 다른 행이 생기며 해당 행의 각 항목은 서명자가 해당 헤더에 해당하는 양식 값입니다.