从iOS应用程序注册和发布Facebook成就

从iOS应用程序注册和发布Facebook成就,ios,facebook-graph-api,achievements,facebook-ios-sdk,Ios,Facebook Graph Api,Achievements,Facebook Ios Sdk,我在应用商店中有一个现有的iOS应用,其中包括Game Center成就。由于它也有一个有效的Facebook Connect实现,我想利用我的应用程序通过新的成就图API提供的社交渠道 我已经创建了相应的成就页面,准备在Facebook上注册为我应用程序的成就。从我所读到的内容来看,由于必须使用app auth令牌来提交成绩和分数,所以我在服务器上使用一些PHP脚本来完成所有这些,因此我不必将我的密钥与我的app二进制文件一起发送。我计划在提交成绩或分数时让iOS应用程序在我的服务器上调用脚本

我在应用商店中有一个现有的iOS应用,其中包括Game Center成就。由于它也有一个有效的Facebook Connect实现,我想利用我的应用程序通过新的成就图API提供的社交渠道

我已经创建了相应的成就页面,准备在Facebook上注册为我应用程序的成就。从我所读到的内容来看,由于必须使用app auth令牌来提交成绩和分数,所以我在服务器上使用一些PHP脚本来完成所有这些,因此我不必将我的密钥与我的app二进制文件一起发送。我计划在提交成绩或分数时让iOS应用程序在我的服务器上调用脚本

我正在使用与本机iOS应用程序相同的FB应用程序。显然,我希望它在用户解锁成就或达到新的高分时开始生成故事和时间线事件

然而,我在尝试注册FB应用程序的成就时遇到了一个大绊脚石。执行注册的脚本出现以下错误:

OAuthException: (#15) This method is not supported for native apps
我似乎做得很好,向
//成就
API发送了一篇帖子,其中包含成就的URL,等等

为了克服Facebook对这些API的限制,我还启用了现有的移动应用程序,使其在开发者设置中成为“网站”和“Facebook应用程序”。无济于事

所以我的问题是。。。我是否缺少一些可以通过中间服务器从iOS应用程序提交的成就?如果必要的话,我不介意设置画布页面等等,但我不希望让用户作为一个完全独立的应用程序重新验证,这样他们就可以将成就和分数发布到他们的Facebook流中

我试图实现的是,如果有必要,最多要求用户在其设备上的现有应用程序上获得额外权限。应该可以在我的服务器上调用一个脚本,在需要时将这些成就推送到Facebook上——但是如何实现呢


要做到这一点,唯一的方法是使用一个单独的FB应用程序,而该应用程序根本没有设置为本机移动应用程序,或者它可以是本机/Web应用程序的组合?

这意味着您可能已经将Facebook端的应用程序配置为“本机/桌面”而不是“Web”

在此配置中,您的应用程序机密不受信任,因为它假定您已将其与客户端代码一起提供-您的IOS应用程序没有理由不能在“web”模式下工作,因此请改用它


(我假设你没有在客户端代码中发布你的应用程序机密-如果你有,这是一个巨大的安全问题,除非你的应用程序设置为“本机/桌面”)

这意味着你可能已经在Facebook端将你的应用程序配置为“本机/桌面”而不是“web”

在此配置中,您的应用程序机密不受信任,因为它假定您已将其与客户端代码一起提供-您的IOS应用程序没有理由不能在“web”模式下工作,因此请改用它


(我假设你实际上没有在客户端代码中发布你的应用程序机密-如果你有,这是一个巨大的安全问题,除非你的应用程序设置为“本机/桌面”)

是的,这是一个本机应用程序,这是故意的。我正试图通过我的云服务器使其工作(因此移动应用程序中不提供应用程序机密),但使用相同的FB应用程序凭据,这样我就可以为移动用户保留现有的身份验证流。好的,我想我明白你的意思了。除了第一个选项卡上的应用程序类型选择之外,“高级”选项卡下还有一个不同的设置,这有点令人困惑。当我将其设置为Web时,我不再收到错误。。。我现在必须看看iOS方面是否有任何问题,但我们正在取得进展!是的,这是一个本地应用程序,这是有意的。我正试图通过我的云服务器使其工作(因此移动应用程序中不提供应用程序机密),但使用相同的FB应用程序凭据,这样我就可以为移动用户保留现有的身份验证流。好的,我想我明白你的意思了。除了第一个选项卡上的应用程序类型选择之外,“高级”选项卡下还有一个不同的设置,这有点令人困惑。当我将其设置为Web时,我不再收到错误。。。我现在必须看看iOS方面是否有任何问题,但我们正在取得进展!