"bool" не содержит определения ошибки "id" в Facebook C# SDK

Я использую Facebook C# SDK (я думаю, v4) для моего приложения холста.

Последние 2 дня я получаю такую ​​ошибку при попытке получить доступ к моему приложению на холсте в Facebook.

Эта ошибка не является постоянной и появляется только для некоторых пользователей.

Вот журнал:

СООБЩЕНИЕ: "bool" не содержит определения для "id"

ИСТОЧНИК: анонимно размещенная сборка DynamicMethods

QUERYSTRING: fb_source=bookmark_apps&ref=bookmarks&count=0&fb_bmpos=3_0

ФОРМА: signed_request = PiF_P1VgfghdfWryycfyS-OFaZOTsNB_rP7up2OsTQ.eyJhbGdvcml0aG0ifhfhfghjhgNiIsImV4cGlyZXMiOjEzMzQ3NDMyMDAsImlzc3VlZF9hdCI6MTMzNDczOTM5NSwib2F1dGhfdG9rZW4iOiJBQUFDUDZGertyertyING9aQ0YyQWNhNEVaQUtLMVZkVGIzOWVNTTZaQkFaQmJ2Q3oyMVMwNXFmV0R6SmlkQjNsRXgwWkFjMHpKUDJ6QlZoWTZ4am1RNUlpSUFmbzZNQnlXN3kxQnVhhpNRVBiV4ggY7IiwidXNlciI6eyJjbdghdfghdfaWwiLCJsb2NhbGUiOiJoZV9JTCIsImFnZSI6eyJtaW4iOjIxfX0sInVzZXJfaWQiOiIxMyumhjmhgjMzQzNjI3ODYifQ

TARGETSITE: System.Object CallSite.Target (System.Runtime.CompilerServices.Closure, System.Runtime.CompilerServices.CallSite, System.Object)

STACKTRACE: в CallSite.Target(Closure, CallSite, Object) в System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](сайт CallSite, T0 arg0) в CallSite.Target(Closure, CallSite, Object) в en_bubbles_Default.Show в c:\hshome\Default.aspx.cs: строка 93 в en_bubbles_Default.Page_Load(Отправитель объекта, EventArgs e) в c:\hshome\Default.aspx.cs: строка 29

А вот код: var fb = new FacebookWebClient(); var app = new FacebookOAuthClient(FacebookApplication.Current);

dynamic ac = app.GetApplicationAccessToken();

string accessToken = fb.AccessToken.ToString();

dynamic myInfo = fb.Get("me");

Session["fbid"] = myInfo["id"];

Ошибка в последней строке

Кто-нибудь может сказать, что происходит?

Спасибо

1 ответ

Вызов Get("me") не возвращает ожидаемый объект, у которого есть свойство "id", вместо этого динамический объект myInfo - просто тип bool. И bool может быть только правдой или ложью. Вы определили, при каких обстоятельствах вы видите это. Я подозреваю, что это будет с перебоями. Возможно, вам следует просто проверить, является ли myInfo bool, и отменить или повторить операцию, если она есть.

Другие вопросы по тегам