Scoprie ip con php via curl json

$URL="http://api.ipinfodb.com/v3/ip-city/?key=tuakey&ip=$ip&format=json";
#####per la citta ip-city##############
#echo"$URL
";

    $URL = rawurldecode($URL);
    $URL = stripslashes($URL);

    // make sure curl is installed
    if (function_exists('curl_init')) {
       // initialize a new curl resource
       $ch = curl_init();

       // set the url to fetch
       curl_setopt($ch, CURLOPT_URL, $URL);

       // don't give me the headers just the content
       curl_setopt($ch, CURLOPT_HEADER, 0);

       // return the value instead of printing the response to browser
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

       // use a user agent to mimic a browser
       curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0');

       $content = curl_exec($ch);
    
        #echo $content;

       // remember to always close the session and free all resources
       curl_close($ch);
    } else {
       // curl library is not installed so we better use something else
    }
#####################################################################
$json=$content;
$obj = json_decode($json);
$regionName=$obj->{'regionName'}; // 12345
$cityName=$obj->{'cityName'}; // 12345
echo"#$regionName#";

Iscrizione diretta da sito alla newsletters di MailUp Api

Con curl e php è molto facile far iscrivere un cliente alla newsletters di MailUp, ecco il codice:

$url="http://[tuo_admin_url]/frontend/subscribe.aspx?idMsg=2&idList=1&email=luca@icewebsolution.it&confirm=false";

    $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//  curl_setopt($ch,CURLOPT_HEADER, false);

    $output=curl_exec($ch);

    curl_close($ch);
    return $output;


?>
comodo anche nel modulo della registrazione.

Php e curl per compilare in automatico un form

Semplice codice curl+php per compilare un form in automatico, da usare con parsimonia:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/path/to/form");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);

$data = array(
    'foo' => 'foo foo foo',
    'bar' => 'bar bar bar',
    'baz' => 'baz baz baz'
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
usato per postare in automatico su Pinterest

Il totale dei like, share e commenti del nostro sito su Facebook

Per chi vuole conoscere un po' di dati del nostro sito su Facebook, https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json

Controllare i dati del nostro Access token di Facebook, dopo offline_access. Debug url

Ho pensato di creare un'app per le mie numerose FanPage, ad oggi ne gestisco oltre 30, che posta in automatico quello che io gli comando. Nel pensare mi è sorto un dubbio, ma l'access_token di FB ogni quanto scade? Perchè se scade tra due settimane la mia app si blocca, come è successo con offline_access e quindi?
Una volta ricavato il nostro Access token vediamo a questo link: https://developers.facebook.com/tools/debug/accesstoken tutti i dati che ci servono, per non sbagliare.

e cosa ci dice per la scadenza del nostro token -> Never

Per ora questo, ho impostato l'app, vediamo se funziona, dovrebbe postare alle 22.01 di ogni giorno! Dovrebbe!
Ufficialmente funziona lo script lo lanciamo con Webcron e quindi postiamo 12 prodotti di Ebay su ogni FanPage.

Aggiorno a primi di luglio che con il comando grant_type=fb_exchange_token (che mi amplia la durata del token) sembra fuzionare, quindi la richiesta per il token sarà:

&scope=publish_stream,read_insights,manage_pages,Cread_stream&grant_type=fb_exchange_token

Se poi volete controllare se voi o un vostro utente ha settato bene i permessi per la nostra app, chiamiamo con fql:

$fan_count_obj = simplexml_load_file("https://api.facebook.com/method/fql.query?access_token=$token&format=xml&query=SELECT%20publish_stream%20FROM%20permissions%20WHERE%20uid%20%3D%20me()");
$permission = $fan_count_obj->permissions->publish_stream;


E con lo stesso link: https://developers.facebook.com/tools/debug/ possiamo vedere se la struttura del nostro link è esatto per Facebook.

Istagram api le foto di un profilo

Per chi vuole pubblicare le foto del proprio profilo o di un proprio cliente:

https://api.instagram.com/v1/users/id_user/media/recent/?client_id=tuo_id_key che prendi qui: http://instagram.com/developer/clients/manage/#

L'id_user lo ricaviamo da qui:
https://api.instagram.com/v1/users/search?q=nomeuser&client_id=tuo_id_key
 
il tutto lo passiamo con curl e json
 
Buon divertimento con queste api 

Google Place API in xml e json e lista delle categorie.

Ed ecco il codice per interrogare google place, ristoranti a Fiumicino:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=41.770364,12.221129&radius=5000&types=food&sensor=false&key=tuakey

Hotel a Fiumicino
https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=41.770364,12.221129&radius=5000&types=lodging&sensor=false&key=tuakey in questo caso i risultati sono in xml

Qui trovate l'elenco delle categorie presenti: https://developers.google.com/places/documentation/supported_types

i risultati sono ad una distanza, radius, di 5km.


Api expedia hotel in base alla latitudine e longitudine

Ecco il codice Api di Expedia che visualizza gli hotel in base alla lotitudine e longitudine inserita:

http://api.ean.com/ean-services/rs/hotel/v3/list?minorRev=99&apiKey=xxxxxxxxx&cid=443449&locale=it_IT&numberOfResults=3&searchRadius=50&supplierCacheTolerance=MED_ENHANCED&arrivalDate=09/04/2014&departureDate=09/05/2014&room1=2&latitude=47.6062&longitude=-122.3321

Da notare che sono stati inseriti il giorno di arrivo ed uno di partenza.

api: short url, minuscolo e anche personalizzato

Per chi non voglia di lavorare con Goo.gl ecco un api per avere uno short url personalizzato e minuscolo.

Formato json:
http://is.gd/create.php?format=json&url=www.itineraridipesca.it/scheda_cattura.php?cattura=254&shorturl=xxxxppidpx

Formato xml:
http://is.gd/create.php?format=xml&url=www.itineraridipesca.it/scheda_cattura.php?cattura=254&shorturl=xxxxppidpx

Da leggere con una chiamata curl, tipo questa:

$ch = curl_init();
// Disable SSL verification
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// Will return the response, if false it print the response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Set the url
curl_setopt($ch, CURLOPT_URL,$url);
// Execute
$result=curl_exec($ch);

// Will dump a beauty json :3
#var_dump($result);
$json = json_decode($result);
$errorcode=$json->errorcode;
$shorturl=$json->shorturl;