【发布时间】:2009-11-08 04:29:40
【问题描述】:
我正在处理的一个项目遇到(很多,但目前)一个问题。
- 这是一个在 Code Igniter 上运行的 PHP 项目
- 这是一个Facebook应用,想要使用oAuth Twitter授权
CodeIgniter 默认清除 $_GET 数组,因为它使用 URI 来控制 MVC 内容。您可以将其关闭以访问 GET 数组,并使用类似 example.com/?c=MyController&m=MyMethod 的字符串来解决此问题。
Facebook 要求您为您的应用程序页面定义一个根 URL。这对我来说意味着:
apps.facebook.com/MyApplication == http://www.myownserver.com/index.php/c=SignIn&
我以这种方式设置它,以便它可以使用 $_GET 数组。当 Twitter(我假设任何其他实现)使用 oAuth 时,它会返回到您想要的任何 URL,并在末尾附加 ?token=250937602736037609273609327,所以我最终在
app.facebook.com/MyApplication/?token=302870637602746094276097
看起来是对的,实际上等价于
http://www.myownserver.com/index.php/c=SignIn&?token=302870637602746094276097
所以问题是 URL 中不能有两个问号;第二个需要是与号 (&) 以将更多值串在一起。错误消息是可预测的Disallowed Key Characters.
任何人都可以用一种好的/聪明的方法来解决我遇到的这个问题吗?我真的不想放弃这个设置的 CodeIgniter 部分,因为它有一个很好的数据库抽象和好帮手,我已经写了很多代码。
感谢您的任何建议。
【问题讨论】:
标签: php facebook codeigniter get uri