»Начало 
edno23 API или нещо подобно


edno23 API или нещо подобно

13/11/2008, 6 коментара



Опитах се да намеря нещо готово, но или не попаднах на него или го няма ... както и да е ... това е просто един PHP клас за публикуване на съобщения в edno23.com

и така поред:
1. Свързване с edno23.com

include "edno23api.php";

$edno23 = new edno23();

if ($edno23->connect("потребител", "парола"))
{
    $edno23->disconnect();
} else
{
    echo "Грешно име или парола";
}

Няма нищо сложно тук. Дабавяте файла, създавате нова инстанция на класа. След това правите свързване с потребителското име и паролата си. При успех просто се разкачаме.

2. Нека сега публикуваме съобщение и веднага след това го изтрием:

include "edno23api.php";

$edno23 = new edno23();

if ($edno23->connect("потребител", "парола"))
{
    $user_id = $edno23->find_id("до_потребител_име");
    if ($user_id)
    {
        $link = $edno23->attach_video("http://vbox7.com/play:fc073e32");
        $post_id = $edno23->post("test remote posting", $user_id, "", $link);
        if ($post_id)
        {
            echo "Post OK (message_id = " . $post_id . ")";

            if ($edno23->delete($post_id, "direct"))
                echo "Delete OK";
            else
                echo "delete failed";
        }

    $edno23->disconnect();
} else
{
    echo "Грешно име или парола";
}

Намираме user_id на потребителя на който искаме да пратим съобщение с find_id(), ако искаме да пратим просто съобщение без да е адресирано до никой оставяме user_id = 0, или изобщо не го указваме.
Ако искаме да добавим линк, картинка или видео първо трябва да ги закачим съответно с attach_url(), attach_image_url(), attach_video(). При успех на тези функции ще получим id на съответният обект, което после трябва да предадем на post(). Самата функция post() връща id на изпратеното съобщение при успех или 0 при грешка.

$post_id = post($text, $user_id, $url_id, $media_id);

$text - текст на съобщението
$user_id - id на потребителя до който искаме да пратим, ако съобщението е директно. В противен случай 0.
$url_id - id на URL-а получен от attach_url
$media_id - id на картинка или видео получен от attach_image_url() или attach_video() - НЕ СЕ ПОДДЪРЖА UPLOAD!

delete() изтрива публикувано съобщение, като трябва да укажете вида на съобщението (не ме питайте защо и аз не знам, но иначе не работи). public или direct са двата вида които са ми познати.

Внимание:
Нямам идея защо авторите на edno23 не връщат отговорите в XML или JSON.
Не намерих или по-точно не се задълбочих да се ровя как по-лесно да се извлича user_id освен от профила и малко regex.
Разпознаването на логването е крайно глупаво.
Повече информация в коментарите.
Трябва да имате PHP с поддръжка на CURL!

Ако на някой му е полезно може да драсне някой ред с предложения или препоръки ...


Изтегляне



Коментари


Браво :)
Публикуван на: 13/11/2008 11:11
Автор: Никола Павлов nikola.pavlov_at_gmail.com

Привет,

Поздравления за API-то

Само че по този начин не е много надеждно, тъй като дори минимална промяна да направим по фронтенд кода, някои неща ще изгърмят.
Трябваше да ни пишеш първо. Имаме базова версия на XML-ско API, с което можеш да направиш този клас.

Обаче имаме малко притеснения относно ползването на такива API-та като цяло. Бихме могли да го предложим публично, само че може да се злоупотребява с него - нищо не пречи на някой от използващите го да си записва въведените пароли и да ги ползва за лоши цели.
Също така доста лесно може да се спами от такова API (затова сме предвидили ограничения за брой постове за даден интервал от време).

Драсни едно мейлче да info@edno23.com и ще говорим
Публикуван на: 13/11/2008 11:11
Автор: drJeckyll drJeckyll_at_Jeckyll.net

Всички забележки ги пише под "Внимание"

Щом съм успял да напиша 3-4 curl-а за да "поствам", мислите ли че има някаква логика в изявлението че може да се спами ?

Това за паролите не го разбрах ... ако поставяте под въпрос сигурността на shared хостинг услугите, то това си е проблем на самите ползватели на тези услуги

btw съществуват проекти като GetLive, fetchyahoo & etc които също парсват страници и съответно авторите им се грижат за тези проблеми за мен лично това си е просто играчка в свободното време

т.н. от мен API разчита на дизайн в часта за логването (и то минималлно) и намирането на user_id ... ако променяте останалата част то това вече няма да бъде дизайн
Публикуван на: 13/11/2008 12:11
Автор: Никола Павлов nikola.pavlov_at_gmail.com

Мисълта ми беше, че можем да ти предложим по-добър вариант от парсване на страници, защото имаме базова версия на XML-ско апи

Относно паролите: нямах предвид нестабилните хостинги, а самите програмисти, които използват API-то. Не е като да не може да се злоупотребява ;>

Относно спаменето: при нужда винаги могат да се вземат мерки. Точно затова ти предложих нашето API.

Поздрави,
Никола
Публикуван на: 13/11/2008 12:11
Автор: drJeckyll drJeckyll_at_Jeckyll.net

Говорим за OpenSource PHP клас
Кой как и по какъв повод ще ползва този код е изобщо извън аспекта на тази дискусия ... и въобще този довод е безкрайно странен за мен ...
btw съществуват достатъчно на брой одитни компании за софтуер и ако човек се притеснява от точно такива неща може спокойно да се обърне към тях ... и те трябва да живеят от нещо нали

Както е казал Мечо Пух: колкото повече, толкова повече ... а и с това започнах:
Цитат:
Опитах се да намеря нещо готово, но или не попаднах на него или го няма ... както и да е ...
Разбира се, че вашето API ще бъде по-добро просто защото ВИЕ сте създали тази черна кутия Аз просто съм симулирал едно човешко действие защото просто исках да си пиша моито мисли тук, а да излизат при вас ...

Относно спаменето: да можете да вземете мерки, но това няма нищо общо с API ... има доста кадърни програмисти които творят и то успешно всякакви SPAM bot-чета
Дзак
Публикуван на: 13/11/2008 22:11
Автор: FF furfui_at_gmail.com

Има и хора, които спамят доста успешно и без да са програмисти
Бак
Публикуван на: 14/11/2008 10:11
Автор: drJeckyll drJeckyll_at_Jeckyll.net

FF написа:
Има и хора, които спамят доста успешно и без да са програмисти
ние тебе те знаеме ... you can do it

напиши нов коментар

Какво е това?

Това трябва да бъде нещо като микро блог или просто начин да записвам разни кратки мисли, идеи, линкове и т.н.

Към всеки пост може да има "закачени" следните елементи:

  Линк към страница
  Прикачена картинка
  Прикачен видео файл
Показва времето на публикуването, заедно с линк към страницата с поста и коментарите
2.4HGz OFF / 5GHz Only ON
bye bye Debian ... apt-get dist-upgrade може да деинсталира ядро :) E ... крайно време беше да го разкарам това недоразумение :)
drWEB Live CD е Gentoo базирано - well done!
Като едно време ... 3.11

Linux notebook 3.11.0-gentoo-dr #1 SMP PREEMPT Tue Sep 3 22:17:44 EEST 2013 i686 Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz GenuineIntel
вчера 3.6.4, днеска 3.6.5 ... така е то ...
не искам глупави thumbail-и от firefox ПЪК! browser.pagethumbnails.capturing_disabled = true
... напоследък дори журналистите имат проблем с разбиране на написаното ...
Мързи ме да напиша около 20 реда код вече ... 10 дни ...
noteX31 ~ # uptime
23:12:42 up 1016 days, 14:39, 2 users, load average: 1.45, 0.64, 0.24
4:30 поздрава за всички, които отърваха Ugly Kid Joe :P
нЕкви хора си правят нЕкъв PR ... и разказват, че станали жертви ...
noteX31 ~ # uptime
10:36:05 up 939 days, 2:03, 4 users, load average: 0.11, 0.66, 0.52
... като не си гледаш разните странни E-Mail-и като например hostmaster@... ти изтича SSL сертификата ...
stretch
stretch
stretch
stretch
interoffice
interoffice
interoffice
interoffice