У меня есть приложение iframe canvas, использующее версию 5.0.3 facebook-c # -sdk.
Я использую в своей форме вызов html.FacebookSignedRequest () [который работает и помещает скрытое поле с длинным зашифрованным значением], но пользователь еще не принял разрешения (мы разрешаем браузеру пользователя наше приложение и запрашиваем разрешения при необходимости) .
Что происходит, мы используем [CanvasAuthorize] для запроса необходимых разрешений. Эта часть работает, пользователь перенаправляется на запрос разрешений FB, где они могут принять или отклонить их. Если они принимают, что отправляются обратно в наш метод контроллера, но единственный передаваемый параметр - это sign_request, все остальные параметры теряются.
Форма публикуется в / controller / action
но я попробовал также apps.facebook.com/controller/action
[CanvasAuthorize(Permissions = "email,user_about_me,publish_stream,
offline_access")]
public ActionResult SomeMethod(string param1, string param2)
Когда я сделаю это, пользователь получит страницу с разрешениями, но при возврате к моему методу аргументы будут нулевыми.
Любые идеи о том, как передавать данные в метод контроллера при проверке, есть ли у пользователя разрешения на это?
Я прочитал несколько сообщений на эту тему, некоторые из них говорят, что Html.FacebookSignedRequest () сделает это, но не в моем случае. Другие говорят, что нужно заключить соглашение о нестандартном состоянии, которое, похоже, является способом для чего-то, что должно быть простым и, вероятно, уже частью SDK.
Пожалуйста, помогите
Редактировать - я обнаружил ту же проблему здесь от мистера Тоттена , но по какой-то причине это не сработало, даже когда я обновляюсь до 5.2.1.