#facebook #facebook-fql
#Facebook #facebook-fql
Вопрос:
Это вопрос новичка. Я не могу найти пример (в HTML), чтобы начать работу с Facebook FQL API.
Это то, что у меня есть на данный момент:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script src="http://connect.facebook.net/en_US/all.js#appId=216492851715113amp;amp;xfbml=1"></script>
</head>
<body>
<div id="fb-root"></div>
<script>
FB.init({
appId: '216492851******',
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true // parse XFBML
});
</script>
<script>
FB.api(
{
method: 'fql.query',
query: 'SELECT name, pic_small FROM user WHERE uid=me()'
},
function (response) {
alert('Name is ' response[0].name);
}
);
</script>
</body>
</html>
И я ожидаю увидеть отображение моего имени в предупреждении (потому что я вошел в Facebook).
Сначала я подумал, что это не работает, потому что я использую localhost, но я уже изменил свой файл хоста, чтобы он соответствовал URL, который я предоставил Facebook.
Я предполагаю, что это проблема сеанса, потому что, если я изменил запрос на использование жестко закодированного идентификатора:
'SELECT name, pic_small FROM user WHERE uid=696190859'
Это сработало бы.
Ответ №1:
Попробуйте это:http://api.facebook.com/method/fql.query ?запрос=ВЫБЕРИТЕ name, pic_small FROM user WHERE uid=696190859amp;format=JSON
или более конкретно:
запрос: ‘ВЫБЕРИТЕ name,pic_small FROM user WHERE uid=me()’
вам нужно убедиться, что URL-адрес закодирован. Смотрите здесь:http://www.blooberry.com/indexdot/html/topics/urlencoding.htm
Надеюсь, это сработает?
Комментарии:
1. Спасибо, я не могу заставить me () работать, хотя. Я использовал » api.facebook.com/method /… » и результатом является пустой JSON.
Ответ №2:
Вам нужно убедиться, что пользователь прошел аутентификацию в вашем приложении, вызвав FB.login() или подтвердите, что он уже прошел аутентификацию, вызвав FB.getLoginStatus(). В противном случае me () не будет существовать в том виде, в котором вы испытываете, потому что они не прошли аутентификацию.