Я разрабатываю приложение для iOS для компании, связанной с алкоголем. Приложение является своего рода поиском сокровищ, своего рода. Они хотят, чтобы пользователь приложения мог загружать их в Facebook, когда обнаружил один из виртуальных объектов, которые они разбросали по всему.
Я использую ShareKit 2.0 (ответвление от github) для доступа к Facebook.
Мне нужно пометить приложение как ограниченное типом алкоголя. Можно ли это сделать один раз на сайте разработчика Facebook для приложения или приложение должно делать это при каждом входе в систему?
Я нашел
http://developers.facebook.com/docs/reference/rest/admin.setRestrictionInfo/
В тестовой консоли я установил приложение для моего приложения во всплывающем окне и вставил
{"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). Так что я до сих пор не уверен, как установить флаг ограничения типа = алкоголь для этого приложения.
ETA v2: поэтому я временно отказался от обозначения родного приложения и сделал следующее
https://graph.facebook.com/MYAPPID?restrictions={"type":"alcohol"}&method=post&access_token=MYAPPID|MYACCESSTOKEN
Когда я впервые сделал это ранее сегодня, я получил сообщение об ошибке формата. Но я просто переделал (тот же запрос все еще в браузере), и он, кажется, работает. Запрос на ограничение показывает алкоголь.
Так что я думаю, это установлено, сделано и работает. Однако, если я перезагружу приложение, чтобы оно стало «нативным», оно стирает настройки. Но если я оставлю это веб-приложение в настройках разработчика на Facebook, оно, похоже, останется, и мое приложение для iOS все еще сможет отправлять сообщения.
Это так, как это должно работать, или есть лучший способ?