Introduzione all'API REST di Magento


8

Quindi la documentazione ufficiale è molto concisa (male!), In particolare per qualcuno che non ha lavorato con REST / Oauth in passato. Sto usando Magento 1.8.1 CE.

Qualcuno può fornire un semplice esempio di PHP su come utilizzare l'API REST di Magento?

Usando il loro codice di esempio ( http://www.magentocommerce.com/api/rest/introduction.html ) ottengo due errori:

Message: Undefined index: state
Message: Use of undefined constant OAUTH_AUTH_TYPE_URI - assumed 'OAUTH_AUTH_TYPE_URI'

Finora ho fatto:

  • Installa l'estensione php oauth
  • Crea almeno un prodotto in Magento
  • Configurare le autorizzazioni per le risorse per l'utente Admin REST per il recupero di tutti i dati del prodotto per Admin
  • Crea un consumatore

Qualsiasi aiuto è molto apprezzato.

EDIT : ho ridotto il problema a (sorpresa, sorpresa!) OAuth non funziona correttamente. Ho rinunciato e modificato i ruoli e gli attributi Ospite per consentire a tutti. Quindi, ho testato le cose per vedere se funzionavano navigando verso:

http://yourdomain/api/rest/products
http://yourdomain/api/rest/products/1/images

Tutto funziona davvero. Se / quando capirò come gestire correttamente l'autenticazione, posterò la risposta.


È possibile utilizzare gli esempi elencati qui per l'autenticazione. magentocommerce.com/api/rest/… . (scorri verso il basso fino a visualizzare il codice) Ce n'è uno per ospite / cliente e uno per l'accesso amministratore. Sono sostanzialmente uguali, solo l'URL chiamato è diverso. Hanno funzionato bene per me.
Marius

Darò un occhiata. Ho un ospite che lavora ora, quindi sto incasinando l'autenticazione. Grazie per il consiglio. Inoltre, hai dovuto creare un file oauth_admin.php da solo? (scusami se questo è spiegato nell'articolo collegato, ma ho pensato che te lo avrei chiesto visto che hai funzionato (:-).
user2636834

Risposte:


2

Quindi @ user2636834 l' hai già capito?

Ricordo quando stavo creando uno scenario di prova che ho ricevuto gli errori di same. Sembrava che non avessi installato Oauth: O. Quindi in breve l'ho fatto (eseguendo Ubuntu e seguendo queste istruzioni , anche correndo in questo errore ):

pecl install oauth

Quindi aggiungere extension=oauth.soalla php.inisezione 's 'Dynamic Extensions'. Quindi riavviare Apache

Ho provato gli esempi dal sito Magento e ho ricevuto un errore dall'API:

"Autenticazione non valida / richiesta non valida"

Ho dovuto aggiungere 'Accept' => '*/*'un'intestazione alla $oauthClient->fetch()chiamata. Dopo di che ha funzionato tutto bene.

Spero che tu possa far funzionare le cose se non l'hai già fatto.


Ho pubblicato un problema simile qui -> magento.stackexchange.com/questions/63611/… . Ho provato ad aggiungere 'Accept' => '*/*'alle $oauthClient->fetch()e ancora ottenere un 403 Forbiddenrisposta. Qualcun altro ha detto di aver risolto il 403 dopo aver installato SSL. È davvero necessario? (per essere chiari, ho installato Oauth e ricevo solo un errore 403 - nessun altro errore)
gtr1971
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.