Ping.fm ir Blake.lt integracija per 5 minutes

lapkričio 25, 2009 – 12:45

Jau kuris laikas naudojuosi Blake.lt pranešimų siuntimui ganėtinai globaliu mąstu – iš čia jos gali keliauti į Twitter, Facebook, Ežio klubą ir pan. Statusus atnaujinti galima per XMPP (GTalk) protokolą, kas labai pravartu, jeigu nenorite atidaryti Blake.lt puslapio atnaujindami statusą. Tačiau man to negana – todėl labai susidomėjau Ping.fm siūlomomis galimybėmis – statusą galite atnaujinti per Skype, GTalk, SMS, WAP, naršyklę ir t. t. Statusas keliauja tiek į Linkedin, Twitter, Facebook tiek į daug kitų socialinių tinklų. Tačiau Blake.lt palaikomų tinklų sąraše nėra. Blake.lt reikia pačiam pasidaryti „palaikomu“ tinklu. Laimei tam nereikia net penkių minučių.

Iš pradžių perskaičiau NePo rašytą straipsnį apie Blake API ir OAuth tačiau iš karto į akis puolė pastaba, jog reikės kontaktuoti su administratoriais dėl trupučio duomenų:

Pirmiausiai jums reikės oauth_consumer_key ir oauth_consumer_secret, kuriuos gausite tik asmeniškai sukontaktavę su Blakės kurėjais.

Kur čia visas patogumas? Per daug negalvojęs atsidariau Blake.lt API dokumentacijos puslapį. Truputį paskaičiau ir supratau, jog Blake.lt API dar toli iki Twitter API – nėra net paprasčiausios „follow“ funkcijos pridėti naujiem draugam, kas yra labai būtina funkcija marketingo mėgėjam save populiarinti užsisakant kitų srautus. Nors mano tikslas tik atnaujinti statusą, tačiau čia nieko naujo neradau – bandant naudotis bet kokia funkcija, reikalaujama autorizacija per šiuos kintamuosius:

{"error":"OAuth Verification Failed: Can't verify request, missing oauth_consumer_key or oauth_token"}

Nusprendžiau per daug nežaisti ir atsidariau Blake.lt nustatymų puslapį. Čia iš karto už akių užkliuvo galimybė statusą atnaujinti per XMPP (GTalk). Tai kiek bjaurokas metodas, tačiau visas darbas užtruko ne daugiau 5 minučių.

Reikalavimai šiam metodui

  • Serveris su PHP 5.x palaikymu.
  • curl.
  • Google Talk sąskaita.

Blake.lt ir GTalk palaikymas

Pirmiausiai Blake.lt nustatymų puslapyje įjungiame GTalk palaikymą:

GTalk įjungimas Blake.lt

Jeigu norite – galite uždėti varnelę. Tada į GTalk’ą gausite visus draugų statusų atnaujinimus, kuriuos esate užsisakę.

Dabar mūsų turėtų paprašyti patvirtinti, jog mūsų nurodyta GTalk sąskaita priklauso iš tikrųjų mums:

GTalk įjungimas Blake.lt

Atsidarykime GMail‘ą ir pokalbių laukelyje įrašykime „[email protected]“:

Blake.lt GTalk roboto pridėjimas į kontaktus

Iš čia pasirenkame „Invite to chat“, „Send invites“. Dabar kontaktų sąraše turėtų atsirasti kontaktas „blake.lt gtalk“. Paspauskime ant jo ir įveskime Blake.lt duotą patvirtinimo kodą (pavyzdyje, tai „8d39a7f2a2“):

Blake.lt GTalk roboto pridėjimas į kontaktus

Bet kokia žinutė, nusiųsta šiam kontaktui, paklius į Blake.lt kaip jūsų statuso atnaujinimas. Blake.lt nustatymų puslapyje turėtų dingti prašymas patvirtinti sąskaitą.

Dabar galite pereiti prie PHP scenarijaus („script’o“) rašymo.

Norite tiesiog išbandyti kaip tai veikia?

Praleiskite sekančią dalį ir pradėkite nuo 5-ojo žingsnio. Tik vietoje „blake.php“ (pvz., „https://versme.net/Temp/blake.php“) rašykite:

https://versme.net/blake.php?username=prisijungimovardaspriegmailbeeta&password=slaptazodis

Pavyzdžiui:

https://versme.net/blake.php?username=ernetas&password=slaptazodis

Pavyzdyje laiškas būtų siunčiamas į [email protected], o GTalk sąskaita ir slaptažodis turėtų būti nuo „[email protected]“.

XMPPHP scenarijus statuso atnaujinimui per GTalk

Mūsų rašomas scenarijus bus dvejopų funkcijų – išsiųsti XMPP protokolu žinutę Blake.lt robotui ir išsiųsti laišką su statuso atnaujinimu sau, jeigu kartais Blake.lt neveiktų ir tuo metu negalėtų atnaujinti mūsų statuso.

Pirmiausiai surenkame visą reikiamą informaciją laiškui:

$email - gavėjo el. pašto adresas.
$subject - laiško tema.
$body - pirmoji laiško eilutė, o scenarijaus gale - $body jau visas laiško turinys.

Toliau tikriname ar žinutė iš tiesų yra, o gal čia paprasčiausiai kažkas užkliuvo už šio scenarijaus be jokių žinučių?

if(count($_POST) > 0) {
<..vykdomas siuntimas..>
}

Vietoje „<..vykdomas siuntimas..>“ rašome norimą scenarijų, kuris bus vykdomas siunčiant žinutę.

Norėdami išsiųsti laišką apie žinutę čia įrašykite eilutę:

mail($email, $subject, $body, "From: \"Ping.fm statuso atnaujinimas\" ");

Taip pat nepamirškite išsiųsti pačios žinutės Blake.lt GTalk robotui:

include 'XMPPHP/XMPP.php';
$conn = new XMPPHP_XMPP('talk.google.com', 5222, '[email protected]', 'slaptazodis', 'xmpphp', 'gmail.com', $printlog=false, $loglevel=XMPPHP_Log::LEVEL_INFO);
try {
$conn->connect();
$conn->processUntil('session_start');
$conn->presence();
$conn->message('[email protected]', stripslashes($_POST["message"]));
$conn->disconnect();
} catch(XMPPHP_Exception $e) {
die($e->getMessage());
}
?>

Nepamirškite pakeisti „[email protected]“ ir „slaptazodis“ į prisijungimo duomenis prie GTalk. Slaptažodyje venkite naudoti nestandartinius simbolius. Pavyzdžiui, viengubų kabučių sistema nesupras teisingai.

Bendras scenarijaus vaizdas: http://pastebin.com/f1803eb6f.

Scenarijų išsaugokime pavadinimu „blake.php“ (nebūtinai, tačiau toliau tokį naudosime pavyzdyje).

Surenkame ir pabaigiame integraciją

1. Parsisiųskite XMPP implementaciją XMPPHP iš oficialaus puslapio Google Code: http://code.google.com/p/xmpphp/.
2. Išpakuokite naujame kataloge.
3. Į serverį perkelkite katalogą „XMPPHP“ iš archyvo. Kiti failai mums nereikalingi.
4. Serveryje, šalia „XMPPHP“ katalogo įkelkime „blake.php“ scenarijų.
5. Prisijunkime prie Ping.fm ir „dashboard'e“ spaudžiame „Add more networks.
6. Pasirenkame „Custom URL“ spausdamie „Add network“.
7. „Custom URL“ nurodome „blake.php“ scenarijaus adresą ir spaudžiame „Submit“. Pvz.: „https://versme.net/Temp/blake.php“.
8. Grįžtame į „Dashboard“ ir išbandome. Veikia. Vuolia!

  1. 6 komentarai to “Ping.fm ir Blake.lt integracija per 5 minutes”

  2. Neveikia man kažkodėl

    By Vycius on Gru 6, 2009

  3. Kuris būdas?
    Ar ping.fm įvedei tikrai teisingą adresą?
    Ar tikrai teisingi prisijungimo duomenys?
    Ar GMail’e prie All Mail matai išsųstas žinutes?

    By Ernestas on Gru 6, 2009

  4. Gaunu kiekvieną kart įvykdžius į el paštą žinutę:
    Blake.lt statuso atnaujinimas

    Gautieji X

    Atsakyti

    |
    Ping.fm statuso atnaujinimas
    skirta man

    rodyti išsamią informaciją 16:14 (Prieš 0 min.)

    Jus atnaujinote savo Blake.lt statusa!

    Naudotas metodas: microblog
    Zinute: Bandau blake.lt

    Tai viskas!

    Paciame blake.lt neatsiranda 🙁
    Gmail išsiųstuose pranešimo nėra

    By Vycius on Gru 7, 2009

  5. Kaip supratau, naudojiesi savo serveriu?
    Pabandyk atsidaryti blake.php naršyklėje ir pažiūrėti ką rašys.

    By Ernestas on Gru 7, 2009

  6. NIeko nerašo
    http://www.vycius.co.cc/blake.php

    By Vycius on Gru 7, 2009

  7. Man atrodo tu pamiršai XMPP katalogą sukurt su failais 🙂 .

    By Ernestas on Gru 7, 2009

Sorry, comments for this entry are closed at this time.