Facebook JavaScript SDK для FQL с дополнительным параметром

Facebook отказался от поддержки FB.Data.waitOn и FB.Data.query и рекомендует вместо них использовать FB.api.

More info: http://developers.facebook.com/blog/post/561/

Это звучит достаточно просто, но я не могу передать дополнительные параметры с моим FQL-запросом, не получая сообщения об ошибке от Facebook. Например, я могу успешно сделать это:

FB.api({
    method: 'fql.query',
    query: 'select page_id, name, pic, page_url from page where page_id=' + some_page_id
}, function(response){
    console.log(response);
});

Но я также хотел бы передать дополнительный параметр return_ssl_resources=1, чтобы Facebook возвращал безопасные ресурсы вместо незащищенных. Однако, если я попытаюсь сделать следующее, Facebook вернет ошибку «Ошибка синтаксического анализатора: неожиданная ‘&’ в позиции 71»:

FB.api({
    method: 'fql.query',
    query: 'select page_id, name, pic, page_url from page where page_id=' + some_page_id + '&return_ssl_resources=1'
}, function(response){
    console.log(response);
});

Кто-нибудь знает, как передать дополнительные параметры при выполнении FQL-запросов с помощью JavaScript SDK?


person Johnny Oshika    schedule 29.09.2011    source источник


Ответы (1)


Получается, что мы можем передать дополнительные параметры как свойства в первом аргументе FB.api():

FB.api({
    method: 'fql.query',
    query: 'select page_id, name, pic, page_url from page where page_id=' + some_page_id,
    return_ssl_resources: 1
}, function(response){
    console.log(response);
});
person Johnny Oshika    schedule 29.09.2011