facebook c # sdk пример мультизапроса? - PullRequest
1 голос
/ 22 июля 2011

Я использую facebook c # sdk для Windows Phone и не могу найти примеров того, как использовать функциональность многозапроса, когда один запрос используется в качестве параметра или источника для другого.

Ниже приведен пример того, что я пытаюсь сделать, но, похоже, это не работает.Любая помощь приветствуется.

string query0 = string.Format ("SELECT помощь, размер, имя, cover_pid, описание, владелец, updated_major, создан, размер ОТ альбома WHERE owner =" + u.UID.ToString ());

string query1 = string.Format ("ВЫБЕРИТЕ pid, aid, src ИЗ фотографии ГДЕ pid IN (ВЫБРАТЬ cover_pid From # query0)");строка [] запросы = новая строка [2];запросы [0] = запрос0;запросы [1] = запрос1;_fbClient.QueryAsync (запросы);

Ответы [ 3 ]

0 голосов
/ 24 октября 2011

Вы можете выполнить вложенный мультизапрос, в котором результаты одной функции выступают в качестве входных данных для второй ... Единственная проблема с SDK Facebook C # заключается в том, что он не дает вам контроля над именами этих запросов. - вот рабочий пример:

        dynamic checkins =
            client.Query(
                            "SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())", //Stand-alone query
                            "SELECT author_uid, timestamp, coords, tagged_uids, page_id, checkin_id, message FROM checkin WHERE author_uid IN (SELECT uid FROM #query0)", //Depends on the results of the first query (get friend IDs)
                            "SELECT name, page_id, pic, pic_large, page_url, type, website FROM page WHERE page_id IN (SELECT page_id FROM #query1)" //Depends on the results of the GetCheckinLocationDetailsQuery
                         ); 

Ваши запросы будут называться # query0, # query1 и т. Д. Вы можете ссылаться на них через метод FacebookClient.Query

0 голосов
/ 20 февраля 2012

Начиная с facebook c # sdk v6, есть два способа выполнить несколько запросов fql

var fb = new FacebookClient("access_token");
dynamic result = fb.Get("fql", new
    {
        q = new[]
                {
                    "SELECT uid from user where uid=me()",
                    "SELECT name FROM user WHERE uid=me()"
                }
    });

по имени fql multi-query

var fb = new FacebookClient("access_token");
dynamic result = fb.Get("fql",
    new
        {
            q = new
            {
                id = "SELECT uid from user where uid=me()",
                name = "SELECT name FROM user WHERE uid IN (SELECT uid FROM #id)",
            }
        });
0 голосов
/ 22 июля 2011

посмотрите на пакет nuget Facebook. Пример

Install-Package Facebook.Sample

Есть примеры использования мультизапроса.

...