Stránka 1 z 1

goo.gl API

Napsal: úte 25. led 2011, 21:37
od prespic
Zdravím, mohl by mi prosím někdo pomoct?

Chtěl bych na stránkách použít zkracování adres na goo.gl. Našel jsem si na netu dva jednoduché skripty pro PHP, ale ani jeden mi nefunguje.
http://www.phpriot.com/articles/google- ... nts/thanks
http://www.vijayjoshi.org/2011/01/12/ph ... ment-13827

Pokud jsem články dobře pochopil, mělo by stačit uložit text do souboru, změnit "klíč" na ten svůj a mělo by to jet. Jediné co mi to ale vypisuje je text "was shortened to", nebo "Shortened URL is:".

Nevíte někdo prosím co dělám špatně?

Ukázka:
http://cimety.over.cz/web/mista/google_api.php

Re: goo.gl API

Napsal: úte 25. led 2011, 21:46
od Exp
Když si necháš vypsat proměnnou $response, je v ní něco?

Re: goo.gl API

Napsal: úte 25. led 2011, 21:56
od prespic
$response je pole hodnot a jeho výpis je v poslední části, hned za funkcí...

Kód: Vybrat vše

    $response = shortenUrl('http://cimety.over.cz/index.php?str=mista&misto=1');
 
    echo sprintf(
        '%s was shortened to %s',
        $response['longUrl'],
        $response['id']
        );
Když napíšu přímo echo $response; nevypíše se nic... (v obou případech)

Re: goo.gl API

Napsal: stř 26. led 2011, 08:39
od Exp
Mně to funguje, tohle je celý můj PHP subor - doplň tam akorát tvůj api key

Kód: Vybrat vše

<?php

// Include the library files
require_once "google-api-php-client/src/apiClient.php";

//This is the URL you want to shorten
$longUrl = 'https://www.packtpub.com/php-jquery-cookbook-to-create-interactive-web-applications/book/pokus/lobo';
$apiKey = 'dopln sem api key';
//Get API key from : http://code.google.com/apis/console/
 
$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;	
	
?>

Re: goo.gl API

Napsal: stř 26. led 2011, 13:51
od prespic
Zajímavé, protože ani ted mi to nefunguje:

Pokud jej přímo zkopíruju, výsledek je prázdná stránka.
Pokud umažu řádek require_once "google-api-php-client/src/apiClient.php"; Výsledek je "shortener URL is".

Napadlo mě, že by mohl být problém na straně hostingu. Pouštím to na IC.CZ. Jako freehosting mají občas v některých ohledech omezení :-\

Taky sem si všiml, že na https://code.google.com/apis/console/ je filtr přístupů. Zkoušel jsem ho měnit, ale bez úspěchu, tak jsem tam nechal hvězdičku...

Re: goo.gl API

Napsal: stř 26. led 2011, 13:59
od Exp
Prázdnou stránku ti to ukazuje proto, že IC má vypnutý zobrazování chyb, jinak by ti tam vyskočila chyba, že nemůže najít ten soubor v require - máš ho umístěný někde jinde, takže upravit cestu v require.

Ale chyba na 99% bude na straně hostingu, protože pochybuju, že IC bude mít povolené rozšíření php_curl.

Stáhni si wamp server a vyzkoušej si to u sebe na loopbacku - nezapomeň ale povolit php_curl.

Re: goo.gl API

Napsal: stř 26. led 2011, 15:36
od prespic
Bohužel, závěr je takovy, že na ic.cz opravdu není povolený CURL. :(

Pokud nenapadá někoho jiná cesta, asi mám smůlu...

Díky moc za snahu ;-)

Re: goo.gl API

Napsal: stř 26. led 2011, 16:59
od arxeiss
Můžeš uvést příklady co a jak to má dělat? Z těch stránke co jsi postnul tam nic nevidím, dej nějaký příklad...

Re: goo.gl API

Napsal: stř 26. led 2011, 17:37
od prespic
Mno, jde o hru. Princip je pospaný na cimety.over.cz

Jednoduše jde o to, že hráči sbírají METY za které dostávají body. Meta je desetimístný alfanumerický kod.
Mety se sbírají v reálu, hráč si je musí opsat, nebo vyfotit, popřípadě zapamatovat.

Celý odkaz vypadá takto:http://cimety.over.cz/index.php?code=134567890

Hráč má tedy tyto možnosti:
1, opsat si desetimístný kod a zadat jej na adrese cimety.over.cz
2, Vyfotit si metu, na které bude QR code odkazující na goo.gl, čili obsahující celou cestu (výše)
3, Opsat si, nebo zapamatovat čtyři písmenka adresy goo.gl/ABCD

Když jako správce hry vytvářím ony mety, mám na to formulář do kterého vypíšu informace (body, nazev a tak) METY. V tuto chvíli bych musel zabrouzdat na goo.gl a vytvořit tam zkrácený odkaz. A já chtěl aby se vytvořil sám a nemusel jsem já (popřípadě někdo kdo mi bude pomáhat hru řídit) mít práci navíc.

Re: goo.gl API

Napsal: stř 26. led 2011, 17:43
od arxeiss
A od goo.gl čekáš na odpověd, jestli náhdou už něco takového není, jinak musíš zadat něco jiného atd... jo?

Re: goo.gl API

Napsal: stř 26. led 2011, 17:53
od prespic
Nevím jak to myslíš...

goo.gl hráče přesměruje rovnou na mou adresu webu s předvyplněným formulářem.