我一直在努力從Facebook API拉朋友的生日,我已經能夠拉我的朋友的uid's,但是當我用其他任何東西替換uid請求(即姓名,性別,生日等),它打破了代碼。任何見解都將是一大幫助。謝謝通過Facebook API拉朋友的生日
<div id="fb_login">
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'APP_ID',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<div class="fb-login-button" scope="user_birthday,friends_birthday">Login with Facebook</div>
<div id="bday_display">
<?php
$app_id = 'APP_ID';
$app_secret = 'APP_SECERT';
$my_url = 'MY_URL';
$code = $_REQUEST["code"];
//auth user
if(empty($code)) {
$dialog_url = 'https://www.facebook.com/dialog/oauth?client_id='
. $app_id . '&redirect_uri=' . urlencode($my_url) ;
echo("<script>top.location.href='" . $dialog_url . "'</script>");
}
//get user access_token
$token_url = 'https://graph.facebook.com/oauth/access_token?client_id='
. $app_id . '&redirect_uri=' . urlencode($my_url)
. '&client_secret=' . $app_secret
. '&code=' . $code;
$access_token = file_get_contents($token_url);
// Run fql query
$fql_query_url = 'https://graph.facebook.com/'
. '/fql?q=SELECT+uid2+FROM+friend+WHERE+uid1=me()'
. '&' . $access_token;
$fql_query_result = file_get_contents($fql_query_url);
$fql_query_obj = json_decode($fql_query_result, true);
//display results of fql query
echo '<pre>';
print_r("query results:");
print_r($fql_query_obj);
echo '</pre>';
?>
</div>
感謝您的幫助,但它沒有幫助。這是非常令人沮喪的。我不得不從用戶表做出這個請求,但是,對嗎?我似乎可以將我自己的數據作爲用戶,但只要我嘗試獲取我的朋友的信息,它什麼都不做。我檢查了我的權限是我的應用程序,所有設置都已設置。 – DevUps
您是否嘗試將[圖形API資源管理器](https://developers.facebook.com/tools/explorer)中的查詢作爲您的應用程序來查看是否有任何內容被返回?是的,'birthday_date'信息只在'user'表中。 – cpilko
我剛剛在資源管理器中嘗試過您的查詢,但它工作正常,但它並未在我的實際站點上返回任何內容。 – DevUps