FB.api не работает при вызове сразу после FB.init.Вот фрагмент кода, который я использую:
window.fbAsyncInit = function() {
FB.init({
appId : window.APP_ID,
status : true,
cookie : true,
oauth : true,
channelUrl : window.MASTER_URL + "channel",
frictionlessRequests : true
});
window.COMPANY.init();
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
А вот мои COMPANY.init () и COMPANY.fetchAllFriends ():
friends: new Array(),
init : function() {
// TODO
COMPANY.fetchAllFriends();
FB.Canvas.setSize($(document).height());
FB.Canvas.setAutoGrow();
},
fetchAllFriends : function() {
FB.api('/me/friends', function(response) {
if (!response || response.error) {
return;
}
COMPANY.friends = new Array();
$.each(response.data, function(index, value) {
COMPANY.friends.push(value.id);
});
});
},
, где в ответе fetchAllFriends содержится ошибка, в которой говоритсяMsgstr "Активный токен доступа должен использоваться для запроса информации о текущем пользователе."Я убедился (через отладчик браузера), что FB.init вызывается перед этим вызовом FB.api.
Любая помощь будет оценена!