Проблема с dotnetopenauth клиентом. ProcessUserAuthorization () - PullRequest
0 голосов
/ 12 декабря 2010

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

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

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

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

защищенный void Page_Load (отправитель объекта, EventArgs e)
{
IAuthorizationState authorization = client.ProcessUserAuthorization ();
if (авторизация == ноль)
{
// Запустить запрос авторизации
client.RequestUserAuthorization ();
}

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

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

1 Ответ

1 голос
/ 13 апреля 2011

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

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

IAuthorizationState authorization = client.ProcessUserAuthorization(null);

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

client.RequestUserAuthorization(null, null, null);

Удачи!

...