(OAuthException) (# 15) Метод, который вы вызываете, должен вызываться с секретной подписанной сессией приложения - PullRequest
3 голосов
/ 13 мая 2011

Я пытаюсь добавить тестовых пользователей в свое приложение Facebook, чтобы я мог лучше протестировать диалоговое окно «Запрос» и проверить, могу ли я получить информацию об отслеживании.Но я продолжаю получать ошибку в названии этого вопроса.Вот мой код:

    [CanvasAuthorize]
    public ActionResult Add()
    {
        var fb = new FacebookWebClient(FacebookWebContext.Current);
        dynamic result = fb.Post(string.Format("{0}/accounts/test-users", FacebookWebContext.Current.Settings.AppId),
            new { installed = false});
        return Content(result.ToString());
    }

Странно то, что во время отладки я проверил текущий контекст, и кажется, что все в порядке.Все свойства там (в том числе App Secret) и ничего нулевого.Почему это происходит?

ОБНОВЛЕНИЕ: C # эквивалент file_get_contents (PHP)

Ответы [ 4 ]

2 голосов
/ 13 мая 2011

Полагаю, что ошибка и старое наименование немного вводят в заблуждение, вам нужен токен доступа к приложению .И это упомянуто в документации Test Users :

Вы можете создать тестового пользователя, связанного с конкретным приложением, используя Graph API с токеном доступа к приложению.

Для пользователей PHP я написал учебник о том, как получить этот токен доступа здесь .

0 голосов
/ 29 ноября 2011

Опаздывая на вечеринку, я подумал, что добавлю фактическое исправление к исходному коду, поскольку столкнулся с точно такой же проблемой.

В приведенном выше коде Кассема в 4-й строке указано следующее:

var fb = new FacebookWebClient(FacebookWebContext.Current);

это то, что вызвало ошибку в названии для меня. Заменив его на:

var fb = new FacebookWebClient(FacebookApplication.Current.AppId, FacebookApplication.Current.AppSecret);

Решена проблема.

0 голосов
/ 05 августа 2011

Я заметил, что вы не поделились своим решением, важно поделиться им на тот случай, если у других возникнет такая же проблема.

Вот как программно получить клиент приложения:

var fbAppClient = FacebookWebClient(AppId, AppSecret);
0 голосов
/ 14 июля 2011

Вам нужен действительный токен доступа для включения в ваш URI, например, "& access_token = APP_ACCESS_TOKEN". Попробуйте Facebook Access Token Tool .

...