适用于FQL的Facebook JavaScript SDK,带附加参数 [英] Facebook JavaScript SDK for FQL with additional parameter

查看:84
本文介绍了适用于FQL的Facebook JavaScript SDK,带附加参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Facebook已弃用FB.Data.waitOn和FB.Data.query,他们建议我们使用FB.api。更多信息:http://developers.facebook.com/blog/post/561/

这听起来很简单,但我似乎无法通过我的FQL请求传递其他参数,而不会从Facebook收到错误。例如,我可以成功地执行此操作:

  FB.api({
method:'fql.query'
query:'select page_id,name,pic,page_url from page which 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 which page_id ='+ some_page_id +'& return_ssl_resources = 1'
},function(response){
console.log(response);
});

有没有人知道如何在使用JavaScript SDK进行FQL请求时传递其他参数?

解决方案

事实证明,我们可以在FB.api()的第一个参数中传递附加参数作为属性:

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


Facebook deprecated FB.Data.waitOn and FB.Data.query and they recommend we use FB.api instead.

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

This sounds easy enough, but I can't seem to pass additional parameters with my FQL request without getting an error from Facebook. For example, I can successfully do this:

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);
});

But I'd also like to pass the 'return_ssl_resources=1' additional parameter so that Facebook returns secure resources instead of non-secure ones. However, if I try the following, Facebook returns a "Parser error: unexpected '&' at position 71" error:

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);
});

Does anyone know how to pass additional parameters when making FQL requests using the JavaScript SDK?

解决方案

It turns out that we can pass additional parameters as properties in the first argument to 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);
});

这篇关于适用于FQL的Facebook JavaScript SDK,带附加参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆