我有一个小的angularJs应用,需要检查两个人是否是Facebook上的朋友..
当我关注facebook官方api指南时:link
指南:
/* make the API call */
FB.api(
"/{user-id-a}/friends/{user-id-b}",
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
我的代码: (isFriends在数组中观看地点以获得facebookIsFriends的更新)
$scope.isFriends = function(friend_id){
//$scope.myArray[friend_id]
var tmpStr = 'myArray.' + friend_id;
$scope.facebookIsFriends(friend_id);
var unbindWatcher = $scope.$watch(
tmpStr,
function() {
if(!!$scope.myArray[friend_id]){
unbindWatcher();
//call another function with the result.
}
}
);
}
$scope.facebookIsFriends = function(friend_id){
var urlString = '/' + $scope.user.id + "/friends/" + friend_id;
Facebook.api(urlString, function(response) {
$scope.$apply(function() {
$scope.myArray[friend_id] = response;
});
});
}
我得到回报:
data: Array[0]
length: 0
__proto__: Array[0]
summary: Object
total_count: 754
__proto__: Object
注意:我确实有754个朋友。
重要提示: 1.当我尝试这个in the graph api explorer时,我得到了类似的结果! (我绝对相信我检查了所有使用数据和扩展权限。 2.我已正确连接到facebook,我已经做了一些正常工作的查询(/ me,/ me / feed,/ {post-id}) 3.当我调试代码时,我得到一个正确的url字符串,如: 的 / 10204551896346735 /朋友/ 10205037578119229 当我尝试将这些用户中的每一个都放在graph-api-explorer中时,我得到了很好的结果(非空的用户对象)
我已经尝试了很多东西,例如设置一个很长的超时并检查它是否随着时间的推移而更新但没有任何反应。请帮助我失去了所有的希望:(
感谢, 马坦