我在我的Android应用程序中使用Facebook android sdk。在开发我的开发版本时,我的应用程序一切正常。当我最终向公众发布我的应用程序时,当人们尝试验证我的应用程序时,facebook验证会发出一个丑陋的错误:
API Error code: 100
API Error description: Invalid parameter
Error Message: Requires valid redirect URI
似乎facebook认为我正在做一个浏览器重定向到他们并且缺少重定向uri来返回我的应用程序,但是我使用的是你没有发送重定向uri的android sdk,你有一个回调监听器:
facebook.authorize(this, new String[] { "email", "publish_stream" }, new FBLoginDialogListener());
就像我说这一切在开发过程中工作正常并且只在我的prod版本发布之后出现,所以我检查了开发应用程序设置和fb上的prod app设置,它们都是相同的。
其他人都看到了这个问题吗?
更新:当用户接受允许登录我的应用程序但似乎不接受我的权限时,我似乎只收到此错误。 hmmmmm。也许我没有处理某些情况,但这个错误对我来说仍然没有意义。
答案 0 :(得分:8)
我通过在https://developers.facebook.com/apps
上禁用应用高级设置中的增强型身份验证对话框解决了这个问题祝你好运
答案 1 :(得分:1)
我在Facebook上没有那么多工作,但我误解了Redirect URL
。
在Facebook类中有一个参数REDIRECT_URI
来重定向用户,如果它成功它不会将你重定向到浏览器,但它被称为Facebook sdk提供商
见这一行
public static final String REDIRECT_URI = "fbconnect://success";
在你的应用程序中检查这一行。我认为facebook API中有一些内容提供者,如fbconnect
,因此它会在内部调用提供者可能是我错了。
感谢。
答案 2 :(得分:1)
我也有这样的问题:当我尝试要求新的扩展许可时,facebook会为我显示相同的错误消息。我想我得到了一个解决方法:尝试在一个请求中询问来自“用户和朋友权限”(即“user_status”)的新许可以及来自“扩展权限”(即“read_stream”)部分的新许可。 http://developers.facebook.com/docs/reference/api/permissions/中列出的权限 希望它也会对你有所帮助。
答案 3 :(得分:0)
我遇到了同样的问题。我的应用程序昨天完美运行,当我今天尝试运行它时,它显示完全相同的消息。我尝试的是重新安装应用程序并重新启动我的手机,但都没有奏效。然后我卸载Facebook for Android(不是我自己开发的应用程序),它运行得非常完美。不知道原因。也许尝试在手机上卸载Facebook for Android并查看它是否有效?
答案 4 :(得分:0)
这里的问题完全相同......已经追了好几个小时......
感谢上面的提示,我向前迈了一步。
我编写了一个更新用户状态的应用。使用新的Facebook布局,这与发布到用户墙相同。
似乎我需要同时拥有这两项权限:{“user_status”,“publish_stream”}。我想user_status让我可以访问状态对象,而publish_stream(这是一个“扩展”权限)给了我写访问权。
在尝试我找到的权限时要注意的一些事项如下。如果您更改了应用程序的权限,那么我建议您执行以下操作: - 使用计算机上的网络浏览器访问您的Facebook帐户。转到顶部主页旁边的箭头,选择帐户设置,然后选择左侧的应用程序。从此处删除您的应用。 - 在您的Android设备(或模拟器)上转到设置 - >应用程序 - >管理。然后卸载您的应用程序。之后,从同一菜单强制退出Facebook应用程序。
完成这些步骤后,您应该有一张关于使用不同权限重新部署应用程序的清单。我这是因为facebook应用程序正在缓存某些东西,并且权限已经记录在您的Facebook帐户中导致此问题。您可以在代码中实现更简洁的解决方案,这样,如果您在版本之间更改了应用程序的权限,那么就可以正确地选择它。
我的应用现在正在进行状态更新=)
答案 5 :(得分:0)