我正在为酒类相关公司开发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
当我今天早些时候第一次这样做时,我收到了关于格式问题的错误。但我只是重做它(仍在浏览器中的相同查询),它似乎工作。查询限制表明酒精。
所以我猜这已经完成并且已经完成并正常工作。但是,如果我将应用程序重置为“原生”应用程序,它会清除该设置。但如果我在开发者Facebook设置上留下一个网络应用程序,它似乎停留,我的iOS应用程序似乎仍然能够发布。
这是应该工作的方式还是有更好的方法?