Как заставить работать FQL? - PullRequest
0 голосов
/ 10 июня 2011

Это вопрос новичка.Я не могу найти пример (в HTML), чтобы начать работу с FQL API Facebook.

Это то, что у меня сейчас есть:

<!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=216492851715113&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, но я уже изменил свой файл Host, чтобы он соответствовал URL-адресу, который я предоставил Facebook.

Я предполагаю, что это проблема сеанса, потому что если яизменил запрос, чтобы использовать жестко закодированный идентификатор:

'SELECT name, pic_small FROM user WHERE uid=696190859'

Это будет работать.

Ответы [ 2 ]

0 голосов
/ 15 июня 2011

Вы должны убедиться, что пользователь прошел проверку подлинности в вашем приложении, вызвав FB.login (), или подтвердите, что он уже прошел проверку подлинности, вызвав FB.getLoginStatus ().В противном случае, я () не будет существовать, поскольку вы испытываете, потому что они не прошли проверку подлинности.

0 голосов
/ 10 июня 2011

Попробуйте: http://api.facebook.com/method/fql.query?query=SELECT%20name,%20pic_small%20FROM%20user%20WHERE%20uid=696190859&format=JSON

или, более конкретно:

запрос: 'SELECT% 20name, pic_small% 20FROM% 20user% 20WHERE% 20uid = me ()'

Вы должны убедиться, что URL закодирован.Смотрите здесь: http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

Надеюсь, это работает?

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