Massive API / Çerçeve mashup sorunu (OAuth, Facebook, Twitter, Kod Ateşleyici)

3 Cevap php

Ben yaşıyorum (çok, ama şimdi,) üzerinde çalışıyorum bir proje ile bir sorun.

  1. Bu Kod Ateşleyici bir PHP projesi koşmak
  2. Bu OAuth Twitter yetkilendirme kullanmak isteyen bir Facebook uygulaması

Bu MVC şeyler kontrol için URI kullanır, çünkü varsayılan CodeIgniter $ _GET dizi temizler. Sen GET dizi erişmek için bu kapatın ve bu almak için example.com/?c=MyController&m=MyMethod gibi bir dize kullanabilirsiniz.

Facebook size uygulama sayfası için bir kök url tanımlamak ister. Bu benim için olduğu anlamına gelir:

apps.facebook.com/MyApplication == http://www.myownserver.com/index.php/c=SignIn&

Ben $ _GET dizisini kullanın böylece bu şekilde kurdunuz. Twitter (ve herhangi bir başka uygulama varsayıyorum) oauth kullveığında, geri ?token=250937602736037609273609327 ucuna eklenmiş ile istediğiniz her türlü URL geçer, bu yüzden ben de sonuna kadar

app.facebook.com/MyApplication/?token=302870637602746094276097

hangi doğru görünüyor, ama eşdeğer aslında

http://www.myownserver.com/index.php/c=SignIn&?token=302870637602746094276097

Yani sorun URL iki soru işvardırtleri olamaz ki; İkinci birlikte dize daha değerlerine bir ve işvardırti (&) olması gerekir. Hata mesajı öngörülebilir Disallowed Key Characters. olduğunu

Bir iyi / akıllı yol kimse bir şey yaşıyorum bu sorunu aşmanın miyim? Ben gerçekten zaten kod iyi bir bit yazdım ki büyük bir DB soyutlama ve iyi yardımcıları vardır, çünkü bu kurulum CodeIgniter kısmını dökümü istemiyorum.

Herhangi bir öneriniz için teşekkür ederiz.

3 Cevap

Hm. Belki birlikte otomatik dize olarak mod_rewrite ve QSA bayrağı ile akıllıca bir şey yapabilir miyim? Yani yerine facebook bunun üzerine işareti yapıştırma için 'kök url' için yeniden yazmak var?

Belki tam olarak sorununuzu anlamıyorum, ama & $config['permitted_uri_chars'] / config / config.php dosyasında uygulama eklemek değil mi?

Sen sorgu dizeleri ve güzel URL'ler izin Girdi Kütüphane uzatabilirsiniz.

haughin.com Twitter Kütüphanesi için göz atın ve nasıl yaptığını görüyorum.