Poprzednie wpisy z serii są tutaj:
1.Jak przygotować Link w Oracle APEX cz. 1
2.Jak przygotować Link w Oracle APEX cz. 2
Tym razem napisze jak w prosty sposób wygenerować "krótki link", czyli np. coś takiego: http://tinyurl.com/pnzuoyj
Tzw. krótkie linki pojawiły się wraz z urządzeniami mobilnymi. Okazało się, że małe ekrany źle "znoszą" długie linki, które w ekstremalnych przypadkach zajmowały pół ekranu. Kilka firm wpadło na pomysł aby udostępnić serwis którego zadaniem jest konwertowanie linku do znacznie krótszej formy. Jeden z najbardziej popularnych serwisów tego typu to tinyURL.com. Serwis oprócz ręcznej konwersji (ze strony www) udostępnia proste api to konwersji przez usługi zewnętrzne. API jest o tyle banalne, że jest dostępne przez metodę GET, czyli wystarczy spreparować odpowiedni adres URL podając w parametrze docelowy adres. Żeby nie przeciągać wystarczy spojrzeć na poniższy kod:
-- Kod zadziała tylko uruchomiony w aplikacji APEX !
DECLARE
V_URL VARCHAR2(4000);
V_LINK VARCHAR2(4000);
BEGIN
/* Jeżeli chcecie wygenerować krótki link poza APEX-em to podstawcie pod V_LINK dowolny adres www*/
V_LINK := APEX_UTIL.URL_ENCODE (apex_util.host_url('SCRIPT') || 'f?p=' || v('APP_ALIAS') || ':HOME:0');
V_URL := APEX_WEB_SERVICE.MAKE_REST_REQUEST( P_URL => 'http://tinyurl.com/api-create.php?url='||V_LINK,
P_HTTP_METHOD => 'GET' );
END;
Jeżeli powyższy przykład będzie uruchamiany na Oracle 11g i wyżej to należy dla schematu APEX_040200 (w nowszej wersji APEX-a nazwa schematu może być inna) ustawić odpowiednią politykę ACL (uruchomić skrypt który jest w dokumentacji).A teraz po kolei co się dzieje:
V_LINK - zmienna trzymająca adres docelowy. Szczegóły odnośnie generowania linku z APEX można znaleźć w pierwszym poście cyklu o linkach. Dodatkowo użyta jest funkcja APEX_UTIL.URL_ENCODE, której zadaniem jest zakodowanie wszystkich znaków języka HTML tak, żeby nie były interpretowane.
V_URL - zmienna, która otrzyma wartość zwrotną z serwisu tinyURL w wyniku użycia funkcji APEX_WEB_SERVICE.MAKE_REST_REQUEST. Po otrzymaniu wartości (krótki adres) zmienną możemy wykorzystać w dowolny sposób, np. użyć w treści maila lub zwrócić na stronę do któregoś itema.

Brak komentarzy:
Prześlij komentarz