• User Attivo

    Api Mio Sito

    Salve a tutti, vorrei sapere in che modo è possibile sviluppare delle "API" se così si possno chiamare, in modo tale che ogni sito web prende il codice dal mio sito e lo incolla sul proprio per avere notizie che partono dal mio sito.

    In parole povere, tipo il gadget di twitter però senza iframe.
    Mi date qualche guida ? grazie


  • User Attivo

    Ciao infosicurezza,
    dipende da cosa devi fare, comunque se devi fare qualcosa di molto semplice ti basta creare una pagina php che riconosca i valori che gli passi in GET e restituisci direttamente l'output nel formato che vuoi. Twitter, facebook e simili includono nell'output anche un javascript, che permette al widget di aggiornarsi (o aggiornare il count).
    Se devi fare qualcosa di più complesso dovresti mettere su un webservice, esistono migliaia di modi per farlo e ognuno ha i suoi vantaggi e svantaggi, ma da quello che ho capito puoi cavartela facilmente con la prima opzione.

    Un consiglio: fai molta attenzione alla sicurezza, in particolare filtra e/o valida tutto quello che arriva e fai in modo che solo le funzioni che prevedi possano essere invocate (non cercare di rendere il tuo script troppo generico perché ti esporresti a diversi pericoli).

    Luca


  • User Attivo

    Ciao intanto grazie per aver risposto.
    Come gia scritto nel post precedente io scrivo articoli e voglio far in modo che questi articoli miei li possano aggiungere altri siti web.
    Avevo pensato così :

    • Query per l'articolo
    • Stampa

    Ora quello che non riesco a capire, è come fare per passarlo ad altri siti web! Potrei farlo con

    • include("file.php");
    • iframe src ...

    Ma non mi convince non credo sia professionale come cosa.
    Vedo sia su google che twitter che danno un codice javascript! Hai qualche indizio da propormi ? Grazie


  • User Attivo

    Se vuoi passare un articolo in modo che qualcuno possa semplicemente copiare e incollare nel suo sito, penso una soluzione possa essere uno script js (asincrono) che fa una chiamata get e inserisce il risultato della chiamata in un div (così il proprietario del sito può applicare il suo stile). In questo modo lato server devi solo tirare fuori un markup standard con il titolo e il testo.
    Se come twitter e facebook, non vuoi che venga dato un altro stile al tuo markup, allora meglio un iframe.
    Fai attenzione però a non metterti in condizione di creare duplicati dei tuoi post (ad esempio, eviterei i javascript sincroni per caricare i contenuti).

    Se invece vuoi semplicemente inviare il dato al server che lo utilizza, per eventuali elaborazioni/modifiche al contenuto, penso che una buona scelta sia xml, e poi scrivere una classe php (una sorta di sdk) che fa il retrieve dei tuoi dati, da far utilizzare ai proprietari degli altri siti web per accedere ai tuoi articoli. Questa potrebbe essere una soluzione migliore delle altre due, ma anche questa può crearti dei duplicati e devi capire se ne vale la pena.

    Luca


  • User Attivo

    Mi interessa uno script JS ! hai qualche guida sul web da consigliarmi al mio caso ?


  • User Attivo

    In realtà ti basta una guida tradizionale di javascript/ajax.
    I passi sono questi:

    • Il javascript viene embeddato nella pagina
    • Quando si attiva fa una chiamata GET allo script sul tuo server e salva la risposta in una variabile
    • Crea un elemento (un div per esempio) subito dopo di sè
    • Carica il contenuto della risposta dentro al div appena creato

    Esistono anche framework javascript tipo jQuery che semplificano il tutto, ma non è una buona soluzione perché richiederebbe alla pagina di includere il framework, che potrebbe crearti dei problemi di compatibilità sulla pagina di destinazione.
    Se hai necessità di informazioni più precise ti consiglio di chiedere nella sezione apposita http://www.giorgiotave.it/forum/scripting-lato-client/ e lasciare questo thread per capire come implementare il lato server delle tue api.

    Luca


  • User Attivo

    io ti ringrazio per come mi stai aiutando, ma ho bisogno di una guida che mi spieghi bene come fare! perchè ne so poco di javascript.