Я разрабатываю сайт FB MVC3 с использованием FB c # SDK.
В моем контроллере есть эта строка
приватная константная строка ExtendedPermissions = "user_about_me, publish_stream";
в методе входа в систему эта строка:
if (fbWebContext.IsAuthorized (ExtendedPermissions.Split (',')))
всегда возвращает false, хотя у меня есть токен доступа, поэтому я проследил в исходный код ...
bool isAuthorized = IsAuthenticated (); возвращает true, поэтому пользователь авторизован. Затем он проверяет разрешения, начиная с этого вызова
var currentPerms = HasPermissions (AccessToken, Settings.AppId, UserId, разрешения);
возвращает единственную запись со значением «установлен». Это не имеет смысла, как вы увидите позже. Продолжайте читать ...
Затем он проверяет переданные разрешения на соответствие разрешениям FB следующим образом:
foreach (вар пермь в разрешениях)
{
if (! currentPerms.Contains (perm))
{
вернуть ложь;
}
}
конечно, он возвращает false, как и должно, потому что разрешения user_about_me и publish_stream отсутствуют в разрешениях FB. Тем не менее, я иду в приложения в FB, и он показывает это
Доступ к моей основной информации
Включает в себя имя, фотографию профиля, пол, сети, идентификатор пользователя, список друзей и любую другую информацию, которой я поделился со всеми.
Итак, мой вопрос:
Что значит «установлен»? и не должен ли он вернуть user_about_me?
так не должна строка выше
var currentPerms = HasPermissions (AccessToken, Settings.AppId, UserId, разрешения);
вернуть "user_about_me". Тем не менее, он возвращает только слово «установлен»
Так что я знаю, почему он терпит неудачу, но логика подсказывает мне, что он не должен потерпеть неудачу. Это как-то связано с доступом пользователей к FB.
Кто-нибудь еще видел это или получил ответ?
Большое спасибо