使用Facebook Graph API(v2.4),我似乎无法访问有关共同朋友的任何信息,甚至连总数都没有。
这是我的图表查询(用户ID因隐私目的而更改): https://graph.facebook.com/v2.4/123456789?fields=context.fields(mutual_friends)
我得到的结果是:
{
"context": {
"id": "dXNlcl9jb250ZAXh0OgGQBqWf9ZAHMZA1yjZBJZABsMDkDORNsle8wkS8Acci9r4FsOdyRVl1TSGSXAsofmlaWYS05piSZCV9F1QwNNs0L9XpNuGLAaLyMk8Fnaiwyxpm5shUZD"
},
"id": "123456789"
}
我尝试使用FB的iOS SDK进行同样的查询,但结果相同。
有什么建议吗?
答案 0 :(得分:2)
Social Context API的all_mutual_friends
,mutual_friends
和three_degree_mutual_friends
上下文边缘为deprecated on April 4, 2018,并立即开始返回空数据集。现在它们已被完全删除。
答案 1 :(得分:0)
{user_id}
必须是您应用的另一个用户,您必须使用的用户访问令牌来自您应用的其他用户。
然后
GET /{user_id}?fields=context{mutual_friends}&access_token={other_users_access_token}
如果两个用户都为您的应用授予user_friends
权限,则应该有效并给出结果。
见
答案 2 :(得分:-1)
function aa_mutl_frnd(x, row)
{
FB.init({
appId : '<?php echo get_option('_fb_apps_id');?>', //Facebook apps id using theme option
cookie : true, // enable cookies to allow the server to access
// the session
xfbml : true, // parse social plugins on this page
version : 'v2.5' // use graph api version 2.5
});
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
var accessToken = response.authResponse.accessToken;
console.log(':acc_tk:'+accessToken);
//////////////////////////////////////////////////////////
var data={
'action': 'wq_accss_tkn_gnrt',
'ddt' : accessToken
}
$.post('<?php echo admin_url('admin-ajax.php'); ?>', data, function (response) {
console.log(':acc_tk2:'+response);
FB.api(
"/"+x+"",
{
"fields": "context.fields(all_mutual_friends)",
//"access_token": '',
"appsecret_proof": response,
},
function (response) {
console.log(response);
}
);
});
////////////////////////////////////
}
});
}
/// ajax part /////
add_action('wp_ajax_wq_accss_tkn_gnrt', 'wq_accss_tkn_gnrt');
add_action('wp_ajax_nopriv_wq_accss_tkn_gnrt', 'wq_accss_tkn_gnrt');
function wq_accss_tkn_gnrt() {
echo hash_hmac('sha256',$_POST['ddt'],'app_secret');;
die();
}