2014-10-13 22 views
9

Attualmente sto utilizzando Joomla 3.3.6 e ho bisogno di trovare un'API REST per accedere alle informazioni sul contenuto, alle informazioni utente e così via. Ho già provato ad utilizzare la seguente API REST, sviluppata da TechJoomla, ma non è in grado di trovare una documentazione adeguata sulle richieste di esempio, sul processo di autenticazione e così via.API REST per Joomla 3.0

https://techjoomla.com/rest-api-for-joomla

Ed anche ho considerato l'API REST jbackend che si sviluppa come estensione per joomla che sembra essere un'estensione pagato.

Dopo molte ricerche su google ho ancora difficoltà a trovare un'API REST per accedere ai contenuti di Joomla. Per favore aiutami con questo problema.

Grazie in anticipo.

+0

cosa avete bisogno da questa API REST? Vuoi aggiornare, eliminare o solo visualizzare? Di quale contenuto hai esattamente bisogno (articoli, utenti)? – tomjm

+0

Ho bisogno di recuperare il contenuto (articoli) da Joomla. – user3793310

+0

Questa domanda riguarda i dettagli di implementazione specifici di Joomla, potresti ottenere un risultato migliore se provi a chiedere su [il sito Joomla Q & A StackExhange] (http://joomla.stackexchange.com) – Craig

risposta

6

Mi sono imbattuto nello stesso problema ed è per questo che ho finito per sviluppare un'API RESTful per Joomla 3.4.x, basata sul micro-framework Slim PHP. Si noti che questo è un pacchetto commerciale di Joomla.

Il pacchetto include quanto segue: Componente

  • Servizi Pannello di controllo
  • Joomla "servizi" add-on biblioteca, che include una versione di Slim v2.6.2 (insieme a diverse altre biblioteche) ottenere attraverso compositore e normalmente trovato nella cartella del venditore. Più su questo più tardi ...
  • Servizi Joomla Plugin
  • servizi REST Plugin
  • Servizi Slim Configurazione plugin
  • Slim JSON API View plug
  • Slim JSON API plug Middleware

Potrebbero chiedere: "Qual è il punto di tutti questi plugin?"

La risposta è che consente la compartimentalizzazione della funzionalità dei componenti principali e apre la porta a un'architettura di percorsi di servizi facilmente estendibile. Si noti che è possibile aggiungere facilmente nuovi plugin con l'ACL di Joomla limitando l'accesso a tali nuovi percorsi, ad esempio.

Il pannello di controllo dei servizi consente la creazione di token per utente (o anche più token per utente Joomla). Consente inoltre all'utente finale di configurare i parametri di micro-framework Slim e include anche una soglia per la funzionalità di limitazione della velocità dell'API (attualmente basata sulle richieste al minuto). In realtà, questa parte è assolutamente fantastica in quanto fornisce feedback in tempo reale sullo stato della soglia di velocità dell'API all'interno dell'intestazione della risposta.

Il pacchetto Capi Nucleo ("Capi", abbreviazione di "API costante" perché tutto ha bisogno di un nome di prodotto ...) è proprio questo - un pacchetto nucleo. Esiste una serie di componenti aggiuntivi attualmente in fase di sviluppo, la prima è un'API JSON LDAP sicura (che si collega a Microsoft Active Directory), con molti altri componenti aggiuntivi a venire.

Il punto fondamentale di tutto questo è dire che, in sostanza, la vostra richiesta ha ricevuto risposta e ora una soluzione commercialmente supportata è finalmente arrivata. Inoltre, invece di reinventare la ruota, ho basato l'estensione su un micro-framework (Slim) popolare e esistente, rendendo più facile per gli sviluppatori lavorare o sviluppare il core, pluggable, framework.

Quindi, si ottiene il meglio di Joomla (ACL robusto, architettura di plugin avanzata, ricchezza di estensioni) e Sim (micro framework framework REST di PHP comprovato, conforme agli standard, maturo), il tutto in un unico pacchetto facile da installare.

L'esposizione di un sito Web tramite un'API facilmente consultabile non deve essere presa alla leggera. Spero che chiunque scelga di farlo implementerebbe il 100% di accesso e sicurezza HTTPS-harden i loro server.

È possibile trovare maggiori informazioni qui: http://getcapi.org

Spero che questo ti fa andare nella giusta direzione. più

Una cosa:

Ho letto sopra la domanda di nuovo e leggere quella parte circa la vostra necessità di accedere a utenti e contenuti. Questi erano in realtà il primo endpoint del servizio cui ho lavorato:

/api/v1/user/ - Può essere usato per registrare un utente in e out e restituisce la sessione Joomla attivato nella risposta - Questo prevede anche multimodale autenticazione (sia tramite token nell'intestazione o nella username & password nella stringa dell'URL). Fondamentalmente, funziona con le tue esigenze. - si forza un utente di logout come questo: /api/v1/utente/logout/username/joomlasessionid

Fondamentalmente, questo è fatto su misura per la guida servizi remoti o, dire iOS o applicazioni Android.

(GET,POST,PUT,DELETE) /api/v1/content/... 

- fornisce la capacità di creare, recuperare, aggiornare e cancellare il contenuto

(GET,POST,PUT,DELETE) /api/v1/category/... 

- fornisce la capacità di creare, recuperare, aggiornare ed eliminare le categorie

Inoltre, /api/v1/utente/login/(nome utente)/(password)

/api/v1/user/logout/(username)/(joomlasessionid) 

/api/v1/user/profile 

/api/slim/routes 

and more... 

Ulteriori informazioni zione sui metodi disponibili può essere trovato qui:

http://learn.getcapi.org/api-methods

Va da sé che tutto il pacchetto CAPI core migliora sono inclusi nel canone di abbonamento annuale. I componenti aggiuntivi sono (saranno) fatturati e supportati separatamente. Ora elencato nella directory di estensioni di Joomla (JED) https://extensions.joomla.org/extensions/extension/capi-core-rest-api.

Aggiornamento 2016-03-28

Come di nuovi metodi CAPI v1.2.1 sono stati aggiunti per consentire CRUD per Joomla gestione di utenti e gruppi. Inoltre, sto lavorando su un cluster sandbox allo http://getcapi.io per consentire ai potenziali clienti di testare completamente le funzionalità delle API prima della sottoscrizione.

Aggiornamento 2016-09-18

Come di nuovi metodi CAPI v1.2.5 sono stati aggiunti per consentire azioni CRUD su token API. L'API è stata inoltre aggiornata con i blocchi doc che possono generare automaticamente un Swagger.json. cAPI include sia una vista back-end sia una vista front-end per accedere ai documenti API completi generati dall'interfaccia utente di Swagger.

Infine, https://getcapi.io insieme a demo1.getcapi.io e demo2.getcapi.io ora sono attivi e consentono ai visitatori di testare i documenti API. Presto, saranno configurati per il ripristino automatico in modo che gli account possano essere distribuiti ai clienti in modo che possano testare completamente l'API per conto proprio.