2010-12-12 1 views
0

Я загрузил DotNetOpenAuth-3.5.0.10259 и попытался запустить образцы, в частности образец OAuthClient, и мне удалось заставить его работать с facebook (VS2010). Я вижу «Добро пожаловать, [мое имя]» после разрешения доступа в facebook.Проблема с dotnetopenauth client.ProcessUserAuthorization()

Проблема возникает, когда я пытаюсь использовать ее в другом проекте. Я получаю «Нет перегрузки для метода« ProcessUserAuthorization »принимает« 0 »аргументы» и «Нет перегрузки для метода« RequestUserAuthorization »принимает« 0 »аргументы».

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

Что я пропустил?

защищен недействительным Page_Load (объект отправителя, EventArgs е)
{
авторизации IAuthorizationState = client.ProcessUserAuthorization();
если (авторизация == NULL) {

// Стартовое запрос авторизации
client.RequestUserAuthorization();
}

частных статических чтения клиент FacebookClient = новый FacebookClient
{
ClientIdentifier = ConfigurationManager.AppSettings [ "facebookAppID"],
ClientSecret = ConfigurationManager.AppSettings [ "facebookAppSecret"],
};

Класс FacebookClient получен из проекта DotNetOpenAuth.ApplicationBlock в образцах, включенных в загрузку 3.5.0.10259.

+0

Я думаю, что ответ будет заключаться в некоторой части кода, который вы не отправили, можете ли вы предоставить больше? Каков тип объекта «клиент» в вашем коде? Является ли тот же самый тип в этом примере? (не производного или базового типа). –

+0

Я обновил код выше, включив определение «клиент» – Andy

ответ

1

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

Трюк, хотя, это просто передать NULL для параметра запроса, который, кажется, работает:

IAuthorizationState authorization = client.ProcessUserAuthorization(null); 

отметить также, что вы можете столкнуться с тем же недостающего вопрос перегрузки с помощью метода «RequestUserAuthorization» , Кроме того, вы также можете передать в нулевые значения для каждого из трех параметров, если вы не хотите, чтобы отправить их по:

client.RequestUserAuthorization(null, null, null); 

Удачи!

+0

В моем случае это не работает. –