我有一個user object,但它的唯一屬性是education, first_name, id, last_name, link, locale, location, name, timezone, updated_time, verified
。不僅缺少應該公開的屬性(如picture
),而且這些值與文檔(updated_time
vs last_updated
)不同。最後,奇怪的是,我從文檔頁面上的鏈接(here)獲得了同樣的結果。最終,我試圖獲得user.feed
。Facebook API - 返回奇怪值的用戶對象
任何想法正在發生什麼將不勝感激。我錯過了明顯的東西嗎?
來訪https://graph.facebook.com/me/feed給出以下:
{ 「錯誤」:{ 「類型」: 「OAuthException」, 「消息」:「一種主動訪問令牌必須被用來查詢 信息關於當前用戶。「
}}
爲什麼我需要一個有效的訪問令牌? the docs說picture
和feed
是公開的!
這是代碼。該user
對象被記錄到Firebug.console:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<script src="http://connect.facebook.net/en_US/all.js" type="text/javascript"></script>
<script type="text/javascript">
function update_user_box() {
var user_box = document.getElementById("user");
FB.api('/me', function(user) {
user_box.innerHTML = "<fb:profile-pic uid=\"loggedinuser\" useyou=\"false\"></fb:profile-pic>"
+ "Hey " + user.first_name + "<br>";
FB.XFBML.parse();
console.log(user);
});
}
</script>
</head>
<body>
<div id='user'><fb:login-button onlogin="update_user_box();"></fb:login-button></div>
<br><br>
<div id="fb-root"></div>
<script>
FB.init({
appId : 'b07e858317c9069d450023b7500b4511',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.getLoginStatus(function(response) {
if (response.session) {
update_user_box();
} else {
// no user session available, someone you dont know
}
});
</script>
</body>
</html>
嘗試用用戶名或ID`https://graph.facebook.com/{ID @用戶名} /飼料/`得到 – haha 2010-12-22 22:09:37
你每次你想要API提供數據作爲JSON對象時都需要access_token。我認爲你對公共飼料是正確的。你可以嘗試像這樣手動https://graph.facebook.com/me/feed?access_token={YOUR_ACCESS_TOKEN} – Nishant 2010-12-22 22:16:39
@haha是的工作。 https://graph.facebook。COM/ID_OR_USER_NAME /飼料 – Nishant 2010-12-22 22:19:29