我正在为一家与酒精相关的公司开发 iOS 应用程序。该应用程序是一种寻宝游戏。他们希望应用程序用户能够在找到他们散落的虚拟对象之一时将其上传到 Facebook。
我正在使用 ShareKit 2.0(来自 github 的分支)进行 Facebook 访问。
我需要将应用程序标记为受酒精类型限制。这可以在应用程序的 Facebook 开发者网站上完成一次,还是应用程序每次登录时都必须这样做?
我发现
http://developers.facebook.com/docs/reference/rest/admin.setRestrictionInfo/
在测试控制台中,我在弹出窗口中将 APP 设置为我的应用程序,然后输入
{"type":"alcohol"}.
但是我得到了一个错误,这对我来说似乎很奇怪,因为请求显示了一个 access_token
{
"error_code": 15,
"error_msg": "This method must be called with an app access_token.",
"request_args": [
{
"key": "restriction_str",
"value": " {"type":"alcohol"}."
},
{
"key": "method",
"value": "admin.setRestrictionInfo"
},
{
"key": "access_token",
"value": "AAAC9ngVeKI4BAMkOq14ogA3fKMS6 -- blah blah -- ZCqK5LR"
},
{
"key": "format",
"value": "json"
}
]
}
我不确定这需要如何完成。
ETA:所以我发现了这个:http: //developers.facebook.com/docs/reference/api/application/#restrictions
和这个:
http://developers.facebook.com/blog/post/574
我尝试使用我的 appID 和我使用浏览器获得的 access_token 执行该操作,然后我回来了
{
"error": {
"message": "(#15) This method is not supported for native apps",
"type": "OAuthException"
}
}
该应用程序是本机应用程序(iOS 和 Android 版本)。所以我仍然不确定如何为这个应用程序设置 type=alcohol 的限制标志。
ETA v2:所以我暂时关闭了原生应用程序指定并做了以下操作
https://graph.facebook.com/MYAPPID?restrictions={"type":"alcohol"}&method=post&access_token=MYAPPID|MYACCESSTOKEN
当我今天早些时候第一次这样做时,我收到了一个关于格式问题的错误。但我只是重做了(同样的查询仍在浏览器中),它似乎工作。查询限制显示酒精。
所以我想这是设置并完成和工作。但是,如果我将应用程序重置为“本机”应用程序,它会清除设置。但是,如果我在 Developer Facebook 设置中将其保留为 Web 应用程序,它似乎会保留下来,而我的 iOS 应用程序似乎仍然可以发布。
这是它应该工作的方式还是有更好的方法?