public void API(string query, Facebook.HttpMethod method, OnAPIDelegate onAPI, params string[] args)
    {
        Dictionary <string, string> parameters = new Dictionary <string, string>();

        for (int i = 0, iMax = args.Length; i + 1 < iMax; i += 2)
        {
            if (!parameters.ContainsKey(args[i]))
            {
                parameters.Add(args[i], args[i + 1]);
            }
        }

        FB.API(query, method, delegate(FBResult result){
            if (string.IsNullOrEmpty(result.Error))
            {
                if (onAPI != null)
                {
                    onAPI(true, FacebookResponse.Parse(result));
                }
            }
            else
            {
                DebugHelper.Log("Facebook API Error: " + result.Error);
                if (onAPI != null)
                {
                    onAPI(false, null);
                }
            }
        }, parameters);
    }
 void GetPageForResponse(string direction, FacebookResponse response, OnAPIDelegate onAPI)
 {
     if (response.ContainsKey("paging") && response["paging"].ContainsKey(direction))
     {
         string query = response["paging"][direction].Value;
         query = query.Replace("https://graph.facebook.com/", "");
         API(query, Facebook.HttpMethod.GET, onAPI);
     }
     else
     {
         if (onAPI != null)
         {
             onAPI(false, null);
         }
     }
 }
 public void GetPreviousPageForResponse(FacebookResponse response, OnAPIDelegate onAPI)
 {
     GetPageForResponse("previous", response, onAPI);
 }
 public void GetNextPageForResponse(FacebookResponse response, OnAPIDelegate onAPI)
 {
     GetPageForResponse("next", response, onAPI);
 }