0

Quand je fais télécharger en utilisant la rue donnée API VoirTélécharger Pano image en utilisant Google Street View Publier API

Request an Upload URL 
     $ curl --request POST \ 
     --url 'https://streetviewpublish.googleapis.com/v1/photo:startUpload?key=YOUR_API_KEY' \ 
     --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ 
     --header 'Content-Length: 0' 

Upload the photo bytes to the Upload URL 
     $ curl --request POST \ 
     --url 'UPLOAD_URL' \ 
     --upload-file 'PATH_TO_FILE' \ 
     --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' 

mais ca marche pas ..

Son me donner l'erreur Aucun fichier trouvé dans la demande .

Quelqu'un peut-il s'il vous plaît aidez-moi au sujet de ce ..

Nous vous remercions à l'avance.

+0

avez-vous résolu ce problème? êtes-vous en mesure de télécharger le fichier sur le UPLOAD_URL? –

+0

Oui frère j'ai résolu – upendtu

+0

pouvez-vous poster une solution ici.Il va être d'une grande aide. Il y en a beaucoup qui cherchent cette solution. Il rendra cette question populaire @upendtu –

Répondre

2

Pour obtenir l'URL de téléchargement Je résolus par cette façon

$cur_upload_url = curl_init(); 

    curl_setopt_array($cur_upload_url, array(

    CURLOPT_URL => "https://streetviewpublish.googleapis.com/v1/photo:startUpload?key=XXXXXXXXXXX" , 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "" , 
    CURLOPT_CUSTOMREQUEST => "POST", 
    CURLOPT_HTTPHEADER => array(
    "authorization: Bearer $access_token", 
     "content-type: application/json", 
     "Content-Length: 0" 
     ), 
)); 

    $response = curl_exec($cur_upload_url); 
    $re = '/https?:\/\/[^"]*/'; 
    $str = $response; 
    preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0); 
    $upload_url = $_SESSION['UploadRef'] = $matches[0][0]; 

    echo $upload_url; 

Ajouter octets photo à l'URL Télécharger

$cmd = exec('curl --request POST \--url "'. addslashes($upload_url) .'" \--upload-file "'.$imagePath.'" \--header "Authorization: Bearer '. addslashes($access_token) .'" '); 

uplaod Ensuite, les méta-données de photo

$curl_meta = curl_init(); 

    curl_setopt_array($curl_meta, array(
    CURLOPT_URL => "https://streetviewpublish.googleapis.com/v1/photo?key=XXXXXXXXXXXXXXXX", 
    CURLOPT_CUSTOMREQUEST => "POST", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_POSTFIELDS => '{ 
        "uploadReference": 
        { 
         "uploadUrl": "'.$upload_url.'" 
        }, 
        "pose": 
        { 
         "heading": 95.0, 
         "latLngPair": 
         { 
         "latitude": '.$latVal.', 
         "longitude": '.$langVal.' 
         } 
        }, 
        "captureTime": 
        { 
         "seconds": '.$time_stamp.' 
        }, 
        }', 

    CURLOPT_HTTPHEADER => array(
     "authorization: Bearer $access_token", 
     "content-type: application/json" 
    ), 

)); 


     $response_meta = curl_exec($curl_meta); 
     $response_json = json_decode($response_meta, true); 
     // $photoID = $response_json['photoId']['id']; 
     // echo $photoID; 


     if(curl_errno($curl_meta)){ 
     // this would be your first hint that something went wrong 
     die('Couldn\'t send request: ' . curl_error($curl_meta)); 
     }else{ 
     //check the HTTP status code of the request. 
     $resultStatus = curl_getinfo($curl_meta, CURLINFO_HTTP_CODE); 
     if($resultStatus != 200){ 
      die('Request failed: HTTP status code: ' . $resultStatus); 
     }else{ 
      $photoID = $response_json['photoId']['id']; 
      //insert google publish information into db table 

     } 

     } 



     curl_close($curl_meta); 

De là, vous obtiendrez la photo d'identité. Après avoir obtenu la publication Photo iD est réussie

+0

seulement pour télécharger la demande de photo que vous avez la fonction exec() d'utilisateur? reste fait avec curl? –

+0

Oui, parce que je recevais erreur dans cette partie lorsque j'utilisais curl Voilà pourquoi j'ai utilisé le exec() – upendtu

+0

ce que contient $ imagePath? l'image doit-elle être sur le serveur ou nous pouvons publier un chemin depuis notre ordinateur local? –