FQL поиск по имени в ASP.NET с помощью Facebook API не работает? - PullRequest
1 голос
/ 01 февраля 2010

FQL поиск по имени в ASP.NET с использованием API Facebook не работает. Но это работало нормально 5 дней назад. Недавно, когда я ищу человека по имени, используя FQL (Facebook API) в ASP.NET, он не работает.

Недавно команда разработчиков Facebook развернула API Facebook после внесения некоторых изменений.

Я могу получить ответ для следующего FQL:

select name, first_name, last_name from user where uid = '1730923544'

Мне не удалось получить ответ для следующего FQL (но я могу получить пустую строку)

select name, pic_square, profile_url from user where name = 'Suresh Rajan'

Вот мой полный код:

public partial class _Default : System.Web.UI.Page 
{
    facebook.Components.FacebookService _fb = null;

    public _Default()
    {
        _fb = new FacebookService();
        _fb.ApplicationKey = "bfeefa69afdfe81975f0d6136ace3009";
        _fb.Secret = "9b672d682e1d8befd06382953fc2615b";
        _fb.IsDesktopApplication = false;
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        infobel_FacebookMethod();        
    }

    private void infobel_FacebookMethod()
    {
        try
        {
            string s = String.Empty;

            //I cannot have response for this fql ( but getting empty string )
            //s = _fb.fql.query("select name, profile_url from user where name = 'Suresh Rajan'");

            //Here I can get response 
            s = _fb.fql.query("select name, from user where uid = '1730923544'");

            if (String.IsNullOrEmpty(str1))
                Response.Write("Empty Response");
            else
                Response.Write(str1 + " <br />");            
        }
        catch (Exception exp)
        {
            Response.Write("Message = " + exp.Message + "<br />");
            Response.Write("ToString = " + exp.ToString());
        }
    }
}

Как написать FQL в ASP.NET?

Спасибо

Ответы [ 2 ]

0 голосов
/ 01 января 2012

Вы можете запрашивать имя столбца только в некоторых особых случаях, например: select name, uid from user where name = 'Sergio Garcia' AND uid in (SELECT uid2 FROM friend WHERE uid1 = me())

0 голосов
/ 01 января 2012

при запуске FQL select name, profile_url from user where name = 'Suresh Rajan' я получаю следующее сообщение об ошибке.

(# 604) Ваше утверждение не индексируется. Предложение WHERE должно содержать индексируемый столбец. Такие столбцы отмечены * в таблицах связанный с http://developers.facebook.com/docs/reference/fql

Похоже, что свойство name не является столбцом, который вы можете использовать в предложении where.

Однако может быть другой способ получить искомую информацию, используйте команду поиска из API графа (см. https://developers.facebook.com/docs/reference/api/)

Формат: https://graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE

Пример: https://graph.facebook.com/search?q=mark&type=user

Итак, чтобы поиграться с этим, перейдите по ссылке: https://developers.facebook.com/tools/explorer

Удачного кодирования!

...