示例#1
0
        internal static async Task PopulateUserData()
        {
            string graphPath = "me";

            var res = await new FBSingleValue(graphPath, null, FBUser.Factory).GetAsync();

            if (res.Succeeded)
            {
                User = (FBUser)res.Object;
            }
            else
            {
                FBErrorHandler.HandleError(res);
            }
            User.AccessToken = FBSession.ActiveSession.AccessTokenData.AccessToken;

            await PopulateUserPages();
        }
示例#2
0
        internal static async Task PopulateUserPages()
        {
            Pages.Clear();
            String graphPath = "me/accounts";

            FBPaginatedArray fbPages = new FBPaginatedArray(graphPath, null, FBPage.Factory);
            FBResult         result  = null;

            do
            {
                if (result == null)
                {
                    result = await fbPages.FirstAsync();
                }
                else
                {
                    result = await fbPages.NextAsync();
                }
                if (result.Succeeded)
                {
                    IReadOnlyList <object> pages = (IReadOnlyList <object>)result.Object;
                    foreach (var p in pages)
                    {
                        FBPage page = (FBPage)p;
                        if (page != null)
                        {
                            Pages.Add(page);
                        }
                    }
                }
                else
                {
                    FBErrorHandler.HandleError(result);
                }
            } while (fbPages.HasNext);
        }