我有一个Web应用程序,它在Facebook中配置为画布Web应用程序,并且还提供了一个移动URL,其中从Web服务器提供移动特定页面。应用程序已经运行了大约3个月并从上周开始(我相信问题是从上周开始的,过去3个月没有应用程序部署)当我从我的Android手机访问应用程序时,从本机中的应用程序快捷方式android facebook应用程序,facebook抛出以下错误
API错误代码:196 API错误说明:无法重定向到移动设备上的桌面Web画布URL。 错误消息:redirect_uri不归此应用程序所有。
我可以看到请求发送到我的网络服务器,在我将重定向网址发送到移动设备后,它会抛出上述错误。
由于没有代码更改,我对这个新错误感到有点困惑,并且谷歌搜索这个api错误号并没有返回任何点击,除了一个日本网站,有人在上周提到了这个错误,但不要看不到任何解决方案。
错误消息“无法重定向到桌面Web画布...”似乎有点自我解释但我无法弄清楚出了什么问题,特别是因为之前有同样的事情,除非FB改变了他们的任何一个在我的应用程序配置中引入新问题或暴露现有问题的代码。
答案 0 :(得分:3)
在这一天失去了1天,试图阅读2个日语(未提及的)博客..然后我想出了我的方式!
在应用设置中,请勿为移动应用输入相同的网址!
示例:
普通画布或网站网址: https://www.stackoverflow.com/
(会自动将您带到https://www.stackoverflow.com/index.php)
(会自动将您带到https://www.stackoverflow.com/mobile/index.php)
然后在您的托管根文件夹中创建一个“移动”文件夹。
现在移动文件夹的唯一区别就是重定向uri。
我正在使用网址重定向,这是Facebook建议的。
https://developers.facebook.com/docs/reference/dialogs/oauth/
关键:确保您的重定向uri不是画布地址,而是网络服务器地址!
这将使facebook认为它是一个特设的移动网站!一切都会按预期工作!错误重定向uri:https://apps.facebook.com/mobile/yourappname/
正确重定向uri:https://yourwebsite.com/mobile/
答案 1 :(得分:1)
我有同样的问题,我解决了它没有设置“redirect_uri”param,就像这样。
$url = $facebook->getLoginUrl(array(
'scope' => 'xxxx, xxxx, xxxx',
'display' => 'touch'
));
如您所知,我们可以将“Canvas Page URL”值设置为
http://apps.facebook.com/ [您的应用名称空间]
到“redirect_uri”param之前,但我猜这个参数的规格在上周中间改变了。 我得到了同样的错误,“API错误代码:196”。
访问我的页面。 http://nobish.jp/facebook/app-install-api-error-code-196.html