0

Graph API Explorer 总是返回一堆结果(我和我的朋友正在参加的活动),但 SDK 查询总是返回一个空集。

我在混合移动应用程序上使用 iOS Facebook SDK(带有 Facebook 插件的Phonegap - 此插件产生与本机 SDK 的连接)。

在两个地方都是相同的 FQL 查询,这是我的 js 代码:

  FB.api('/fql?q=' +
    encodeURIComponent([
      "SELECT name, venue, location, start_time, eid FROM event",
      "WHERE eid IN (",
         "SELECT eid FROM event_member",
         "WHERE (uid IN (SELECT uid2 FROM friend WHERE uid1 = me())  OR uid = me())",
      ")",
      "AND start_time > now()",
      "LIMIT 50"
    ].join(" ")),
    function(response) {
        if (!response || response.error) {
            console.log("Error fetching data.");
        } else {
            events = response.data;
            console.log(events);
            displayEvents(events);
        }
    }
  );

我的 facebook 应用程序需要user_eventsfriend_events权限(我尝试添加 user_friends 权限,但在我保存并刷新后 - 它总是从列表中消失......也许这些是默认给出的,不需要指定?)。

问题出在哪里?

谢谢。

4

1 回答 1

0

问题是 Facebook 的客户端 SDK 应该请求用户登录的权限。

权限应在云中设置,然后在您的客户端登录时请求。这是登录:

FB.login(callback, {scope: 'user_events,friends_events'});

我个人认为这很令人困惑(尤其是命名参数“范围”),但这是规则。

于 2013-10-25T08:17:56.650 回答