Я беженец из старого инструментария разработчиков Facebook, переносящего мое приложение на новый SDK Facebook C#. У меня есть часть веб-приложения MVC для моего решения, но у меня также есть консольное приложение, которое я запускаю в пакете как часть моего общего решения. Я получаю расширенное разрешение offline_access для всех моих пользователей и сохраняю ключ без истечения срока действия сеанса для последующего использования в моем консольном приложении.Консольное приложение с использованием Facebook offline_access расширенные разрешения и Facebook C# SDK
С помощью инструментария для разработчиков Facebook мне удалось развернуть сеанс Connect Session и REST api с помощью моего API-ключа, интерфейса API и сохраненного ключа сеанса пользователя и совершить вызовы Facebook api.
В SDK для Facebook C# не-веб-образцы, похоже, полагаются на появление своего рода браузера для интерактивного входа в систему. Это не будет работать в автономном режиме, когда пользователи, работающие с консольным пакетом приложений.
Я получил это далеко:
string oAuthAccessToken = "{access token}"
var app = new Facebook.FacebookApp(oAuthAccessToken);
// now I can make api calls like this:
dynamic currentPermissionsJson = new ExpandoObject();
currentPermissionsJson = app.Query(string.Format("SELECT publish_stream, offline_access, email from permissions where uid = {0}", {userid}));
var currentPermissions = ((JsonArray)currentPermissionsJson)[0] as IDictionary<string, object>;
и понеслось.
Я просто зациклился на том, как преобразовать существующие хранимые ключи сеанса в токены доступа к Facebook OAuth. Я могу видеть, как я могу построить сообщений для https://graph.facebook.com/oauth/exchange_sessions с Params, такие как
client_id={my app id}
&client_secret={my app secret}
&sessions={previously stored session keys}
и получить маркер доступа обратно в ответ.
Но я думаю, что SDK должен предложить некоторый способ сделать это для меня. Или это?
я получаю ближе (отражено в правок выше) ... Я думаю, что просто нужно немного синтаксического сахара или обертку делает POST к https: //graph.facebook.com/oauth/exchange_sessions с моим appID, секретным и ранее сохраненным ключом сеанса пользователя. – 2010-12-16 18:43:28