personalizados para imprimir generar generador example ejemplo desde datos codigos codigo code php url curl qr-code

para - API de Google-Acortador de URL con PHP



php qr code ejemplo (8)

Mi código está abajo. El servicio de acortamiento de URL funciona, pero no es así cuando inserto mi $POST . ¿Alguien sabe cómo solucionar este problema mirando el código?

// This is the URL you want to shorten $longUrl = ''http://www.mysite.com/XXXXX/XX/$_POST[''qrname'']''; // Get API key from : http://code.google.com/apis/console/ $apiKey = ''MyAPIKey''; $postData = array(''longUrl'' => $longUrl, ''key'' => $apiKey); $jsonData = json_encode($postData); $curlObj = curl_init(); curl_setopt($curlObj, CURLOPT_URL, ''https://www.googleapis.com/urlshortener/v1/url''); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curlObj, CURLOPT_HEADER, 0); curl_setopt($curlObj, CURLOPT_HTTPHEADER, array(''Content-type:application/json'')); curl_setopt($curlObj, CURLOPT_POST, 1); curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData); $response = curl_exec($curlObj); // Change the response json string to object $json = json_decode($response); curl_close($curlObj); echo ''Shortened URL is: ''.$json->id;


Aún no tengo suficientes puntos de reputación para comentar, pero obtuve esta multa de trabajo al reemplazar la línea:

echo ''Shortened URL is: ''.$json->id;

con:

$shortLink = get_object_vars($json); echo "Shortened URL is: ".$shortLink[''id''];

Podría ser solo mi instalación de php, pero la línea original siguió arrojando un error interno 500 para mí.


Intenta con este código. Estoy trabajando para mi

$api_key = ''YOUR_KEY''; $request_data = array( ''longUrl'' => ''YOUR_LONG_URL'' ); $curl_obj = curl_init(sprintf(''%s/url?key=%s'', ''https://www.googleapis.com/urlshortener/v1'', $api_key)); curl_setopt($curl_obj, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl_obj, CURLOPT_POST, true); curl_setopt($curl_obj, CURLOPT_HTTPHEADER, array(''Content-type: application/json'')); curl_setopt($curl_obj, CURLOPT_POSTFIELDS, json_encode($request_data)); curl_setopt($curl_obj, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl_obj, CURLOPT_SSL_VERIFYHOST, false); $response = curl_exec($curl_obj); $json = json_decode($response); curl_close($curl_obj); var_dump($json); die();


Intenta lo siguiente

$longUrl = ''http://www.mysite.com/XXXXX/XX/''.$_POST[''qrname''];

Lo anterior funcionará.



estás pasando la variable php entre comillas simples por lo que no se analizará. pásalo entre comillas dobles como

$longUrl = "http://www.mysite.com/XXXXX/XX/$_POST[''qrname'']";

O concatinar así

$longUrl = ''http://www.mysite.com/XXXXX/XX/''.$_POST[''qrname''];


reemplace $longUrl = ''http://www.example.com/XXXXX/XX/$_POST[''qrname'']'';

con lo siguiente

$longUrl = ''http://www.example.com/XXXXX/XX/{$_POST[''qrname'']}'';


$longUrl = "http://www.xxxxxxx.com"; $postData = array(''longUrl'' => $longUrl); $jsonData = json_encode($postData); //4 $curlObj = curl_init(); curl_setopt($curlObj, CURLOPT_URL, ''https://www.googleapis.com/urlshortener/v1/url?key=yourappkey''); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curlObj, CURLOPT_HEADER, 0); curl_setopt($curlObj, CURLOPT_HTTPHEADER, array(''Content-type:application/json'')); curl_setopt($curlObj, CURLOPT_POST, 1); curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData); //5 $response = curl_exec($curlObj); $json = json_decode($response); // echo "<pre>"; // print_r($json);exit; //6 curl_close($curlObj); //7 if(isset($json->error)){ echo $json->error->message; }else{ echo $json->id; }


<?php //URL Shortening Functions( Just copy & paste below code in your application) function short_url($longUrl){ $apiKey = ''******************''; // put your GOOGLE API SHORTENING KEY $postData = array(''longUrl'' => $longUrl, ''key'' => $apiKey); $curlObj = curl_init(); $jsonData = json_encode($postData); curl_setopt($curlObj, CURLOPT_URL, ''https://www.googleapis.com/urlshortener/v1/url?key=''.$postData[''key'']); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curlObj, CURLOPT_HEADER, 0); curl_setopt($curlObj, CURLOPT_HTTPHEADER, array(''Content-type:application/json'')); curl_setopt($curlObj, CURLOPT_POST, 1); curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData); $response = curl_exec($curlObj); $json = json_decode($response); curl_close($curlObj); if(isset($json->error) || $json == null){ return $longUrl; // retrun same url in case of error or null response }else{ return $json->id; // return shorted url } } // use this function here $longUrl = ''https://www.w3schools.com/''; echo short_url($longUrl); // print short url // If you want to return short url to long url use below function function long_url($shortUrl){ $apiKey = ''***********''; // put your GOOGLE API SHORTENING Key $params = array(''shortUrl'' => $shortUrl, ''key'' => $apiKey,''projection'' => "ANALYTICS_CLICKS"); $final_url = ''https://www.googleapis.com/urlshortener/v1/url?''.http_build_query($params); $curlObj = curl_init($final_url); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curlObj, CURLOPT_HEADER, 0); curl_setopt($curlObj, CURLOPT_HTTPHEADER, array(''Content-type:application/json'')); $response = curl_exec($curlObj); $json = json_decode($response); curl_close($curlObj); if(isset($json->error) || $json == null){ return $shortUrl; }else{ return $json->longUrl; } } //Function Use here echo "<br>"; // For next line $shortUrl = ''''; // put the short url generated from above function echo long_url($shortUrl); // get long url ?>