Bu konu üzerinde birkaç haftadır çalışıyorum ve hayatım için bir çözüm bulamıyorum. (Drupal'ın web sitesinde veya başka bir yerde) iyi bir belge bulamadım da yardım etmiyor. Ve burada zaten sorular eski (Hizmetler 2.x).
Drupal Commerce destekli bir site için bir REST hizmeti oluşturmaya çalışıyorum. Şimdilik, tüm hizmetin yapılması gereken Order kaynağında temel CRUD işlemlerine izin vermek ve OAuth ile güvence altına almak için OAuth 2.0 gerekli değildir. Sunucudaki bir komut dosyasıyla da çağrılmalıdır, bu nedenle oturum açma yeniden yönlendirmeleri imkansızdır (her şey 2 aşamalı kimlik doğrulaması ile yapılır).
Geçerli yığın:
- PHP 5.3.15
- Drupal 7.15
- Ticaret Kickstart profili (7.x-2.0-rc1)
- Hizmetler 7.x-3.2
- OAuth 7.x-3.0 + 18-dev
- OAuth Kimlik Doğrulaması 7.x-3.2
- REST Sunucusu 7.x-3.2
- Commerce Services 7.x-1.x-dev (Bu, özel Sipariş kodumu eklediğim modüldür)
Ben bir OAuth PHP kütüphanesi kullanırsanız ve sadece her zaman jeton isteği çağırırsanız Siparişler için çalışmak için Retrieve / Index işlevlerini alabilir (kimlik doğrulaması dışında orada olup bitenden bile emin değilim ...). Siparişler için POST yapmaya ve bir sipariş oluşturmaya çalışırsam, komut dosyasıyla 406 ve Google Chrome'daki REST Konsolu'ndan doğrudan POST isteği denediğimde, OAuth devre dışı olsa bile 401 alırım.
Bu, hata ayıklamayı bir kabus haline getirdi çünkü yaratma fonksiyonumda neler olup bittiğine dair hiçbir fikrim yok. Ben sipariş oluşturma mantığı sıyırma denedim ve sadece istek yükü yankı. Hala 406/401 hatalarını alıyorum.
Siparişleri bir kullanıcı kimlik doğrulaması gerektirdiğinden (hizmet için OAuth kapalı olsa bile) 401 hataları aldığımı varsayıyorum.
Neden 406 hatalarını alıyorum anlamıyorum. REST sunucum geri dönmek için ayarlanmış olan application / json'u kabul ediyorum.
Sipariş yaratma mantığını yorumlamadan bile siparişler yaratılmıyordu. (Sitede başka bir yerde etkili bir şekilde kullanıyorum.)
Teşekkür peşin.
-T