Facebook API - объект пользователя, возвращающий странные значения - PullRequest
0 голосов
/ 23 декабря 2010

У меня есть пользовательский объект , но это только свойства education, first_name, id, last_name, link, locale, location, name, timezone, updated_time, verified.Эти пропущенные свойства должны быть не только общедоступными (например, picture), но и эти значения отличаются от документации (updated_time против last_updated).Наконец, как ни странно, я получаю то же самое по ссылке на странице документации ( здесь ).В конечном счете, я пытаюсь получить user.feed.

Любые идеи о том, что происходит, будут высоко оценены.Я что-то упускаю из виду?

посещение https://graph.facebook.com/me/feed дает следующее:

{"error": {"type": "OAuthException"," message ":" Активный токен доступа должен использоваться для запроса информации о текущем пользователе. "
}}

Зачем мне нужен активный токен доступа? документы говорят, что 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>

Ответы [ 2 ]

1 голос
/ 23 декабря 2010

Есть несколько вещей, которые вы можете попробовать

  • проверить, правильно ли совпадают данные с https://graph.facebook.com/{YOUR_FB_ID}
  • Есть ли какие-либо данные (которые являются нулевыми), требующие расширенияразрешение.См. здесь
  • Используете ли вы права auth_token и oAuth2.0

Надеюсь, это поможет вам при отладке.


Редактировать:

Мы столкнулись с проблемой, когда использовали старый API (FB-connect) и пытались получить данные, упомянутые в расширенном разрешении.Мы не смогли - по какой-то причине.Мы перешли на oAuth2.0, и это сработало.Пуля №3 была просто для того, чтобы поделиться своим опытом.

Кроме того, для фотографий мы только что получили данные с http://graph.facebook.com/{user_id}/picture

0 голосов
/ 23 декабря 2010

Получить разрешение от пользователя для offline_access.

Feed https://graph.facebook.com/{ID@username}/feed/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...