1

我刚刚使用 JavaScript SDK 在我的网站上实现了 Facebook 连接。现在我想处理一个 fql 查询。

所以我有两个问题:

  1. 是否可以仅使用 JavaScript fql 作为 " SELECT id, name FROM user WHERE uid IN (SELECT uid1 FROM friends WHERE uid2=me())" ?

  2. 因为当我使用 facebook doc 尝试一些 PHP SDK 代码时

PHP:

$app_id = 'MY_ID';
$app_secret = 'MY_APP_SECRET';
$my_url = 'POST_AUTH_URL';
$code = $_REQUEST["code"];

$_REQUEST["code"]通常无法识别,我不知道“ 'POST_AUTH_URL'”是什么,因为我没有使用 PHP SDK 来处理 Facebook 连接。有人有想法吗?

4

3 回答 3

14

Usingmethod: 'fql.query'已弃用的REST API 的一部分。

恕我直言,一种更好的、面向未来的方式是针对 Graph API 发送查询:

FB.api("/fql?q={your urlencoded query}", callback() { … } );
于 2012-06-12T14:09:32.227 回答
9

使用 JavaScript SDK,您可以轻松执行 FQL 查询 -

FB.api(
  {
    method: 'fql.query',
    query: 'SELECT name FROM user WHERE uid=me()'
  },
  function(response) {
    alert('Your name is ' + response[0].name);
  }
);

不要忘记在执行任何查询之前请求您需要的所有权限......


参考 - https://developers.facebook.com/docs/reference/javascript/

于 2012-06-12T13:35:49.883 回答
0

抱歉,我还不能发表评论,但要澄清这个有用的答案;对我有用的是格式化 FQL API 调用,就像我使用 {fields: "ex1,ex2"} 进行 Graph API 调用一样:

var fqlRequest = "SELECT name FROM user WHERE uid = me()";
FB.api("/fql",{q:fqlRequest}, function(response){
    // do cool stuff with response here
});

请注意,我不必对字符串进行 URL 编码,它对我来说工作得很好(我以前使用 encodeURI(fqlRequest)过,它返回了一个unexpected %错误)。

如果你使用它们,还记得引用文字:

var id = "1234567890";
var fqlRequest = "SELECT name FROM user WHERE uid = ' " + id + " ' ";
于 2013-12-01T18:32:30.167 回答