2011-07-01 25 views
4

我有以下FQL我想加入用户表添加名称字段!我该如何做?在我测试正常的左连接之后,我收到了错误消息(601连接不可能和FQL一起使用)。我如何加入并添加名称字段?fql join;我可以使用FQL加入两个表吗?

<!DOCTYPE html> 
<html> 
<body> 
<div id="fb-root"></div> 
<a href="#" onclick="getPhotos();return false;">Get Photos</a> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ appId: 'yourAppID', status: true, cookie: true, xfbml : true }); 

    function getPhotos() { 
    FB.login(function(response) { 
     if (response.session && response.perms) { 
     var oneWeekAgo = Math.round((new Date().setDate(new Date().getDate()-7))/1000); 
     FB.api(
      { 
      method: 'fql.query', 
      query: 'SELECT pid, caption, aid, owner, link, src_big, src_small, created, modified FROM photo WHERE aid IN (SELECT aid FROM album WHERE owner IN (SELECT uid2 FROM friend WHERE uid1=me())) AND created > ' + oneWeekAgo + ' ORDER BY created DESC LIMIT 20' 
      }, 
      function(response) { 
      alert('Photos: ' + JSON.stringify(response)); 
      } 
     ); 
     } 
    } , {perms:'friends_photos'}); 
} 
</script> 
</body> 
</html> 

回答

11

做这样的事情:

FB.api({ 
    method: 'fql.multiquery', 
    queries: { 
     'query1': 'SELECT uid2 FROM friend WHERE uid1 = me()', 
     'query2': 'SELECT vid, owner, title, description FROM video WHERE owner IN (SELECT uid2 FROM #query1)' 
    } 
}, 
function(response) { 
    // response should have 2 objects in it, both containing an fql_result_set 
    // array with the data and the name you entered for the query (i.e. 'query1') 
    alert('Photos: ' + JSON.stringify(response)); 
}); 
+0

在上面的代码中有一个额外的大括号,我编辑删除它,等待同行评审它显示。感谢您的示例代码。 – LocalPCGuy

4

你需要运行一个嵌套查询像

https://api.facebook.com/method/fql.query?query=SELECT uid,pic_square, first_name, last_name from user where uid IN (SELECT uid FROM page_fan WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())AND page_id = PAGE_ID)&access_token=YOUR_ACCESS_TOKEN 

我需要我的朋友的名字,PIC从页面谁喜欢那个页面。所以运行一个嵌套的查询,它的工作形式我

检查此链接https://developers.facebook.com/docs/reference/fql/

Facebook已经暴露了他们的数据库。希望它可以帮助你