У меня есть приложение для iOS в App Store, в котором есть достижения Game Center. Поскольку у него также есть работающая реализация Facebook Connect, я хотел бы использовать социальные каналы, доступные через новые API-интерфейсы Achievements Graph, с моими приложениями.
Я создал соответствующие страницы достижений, готовые для регистрации в Facebook в качестве достижений для моего приложения. Из того, что я прочитал, поскольку токен авторизации приложения должен использоваться для отправки достижений и результатов, я делаю все это на своем сервере, используя некоторые PHP-скрипты, поэтому мне не нужно отправлять свой секретный ключ с двоичными файлами моего приложения. . Я планирую, чтобы мое приложение для iOS вызывало скрипт на моем сервере при отправке достижений или результатов.
Я использую то же приложение FB, что и для собственного приложения iOS. Очевидно, я хочу, чтобы он начал генерировать истории и события временной шкалы, когда пользователь открывает достижения или достигает нового рекорда.
Однако я сталкиваюсь с большим камнем преткновения при попытке зарегистрировать достижения для приложения FB. Я получаю следующую ошибку со сценарием, который выполняет регистрацию:
OAuthException: (#15) This method is not supported for native apps
Вроде все делаю правильно, отправляю POST в /<appid>/achievements API с URL для достижений и т.д.
Чтобы обойти ограничения Facebook на эти API, я также разрешил существующему мобильному приложению быть «Веб-сайтом» и «Приложением на Facebook» в настройках разработчика. Но безрезультатно.
Итак, мой вопрос: я что-то упустил, чтобы включить достижения, которые можно было бы отправить из приложения iOS через промежуточный сервер? Я не возражаю против настройки страниц холста и т. д., если это необходимо, но я бы не хотел, чтобы пользователи повторно аутентифицировались как совершенно отдельное приложение только для того, чтобы они могли публиковать достижения и баллы в своем потоке Facebook.
Чего я пытаюсь добиться, так это в лучшем случае запросить у пользователя дополнительные разрешения для существующего приложения на его устройствах, если это необходимо. Должна быть возможность запустить скрипт на моем сервере, который при необходимости будет отправлять достижения на Facebook, но как?
Единственный способ сделать это — использовать отдельное приложение FB, которое вообще не установлено как родное мобильное приложение, или это может быть комбинация родного/веб-приложения?