Использование CURL с FQL в простом классе PHP для социальных сетей - PullRequest
2 голосов
/ 17 июня 2011

Я создаю простой класс PHP, который позволит вам вводить имя пользователя в Твиттере, количество загружаемых твитов, идентификатор Facebook, количество загружаемых статусов и токен доступа, а затем извлекает данные пользователя (имя, изображение профиля).и т. д.) и указанное количество твитов / статусов.

Я извлекаю данные в виде JSON, вызывая URL с помощью cURL и использую встроенную в PHP функцию json_decode (), чтобы разобрать их в объект для меня..

Моя проблема в том, что я могу отлично получить все данные из твиттера, передавая имя пользователя на правильный URL-адрес (например, http://twitter.com/users/user.json), но все данные facebook возвращают NULL. Я думаю, что язнаете, проблема - я использую FQL, поэтому я вызываю URL-адреса, такие как:

https://api.facebook.com/method/fql.query?format=json&access_token=####&query=SELECT first_name, middle_name, last_name ОТ пользователя WHERE uid = #### LIMIT 1 ";

, который, кажется, затем перенаправляет вас на встроенный файл (тогда как твиттер связан непосредственно с правильным файлом).

Кто-нибудь знает, как я могу сделать эту работу? Я бы предпочел использовать FQL as Я немного разбираюсь в этом, но если это невозможно, я не так уж и сильно изменюсь.

Я могу предоставить любые другие детали, которые вам нужны

1 Ответ

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

Ваш синтаксис выглядит отлично, поэтому есть вероятность, что может возникнуть проблема с тем, как вы передаете токен доступа.

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

Если вы используете PHP, вы можете использовать PHP SDK для Facebook. Это позволит вам написать немного менее подробный код, который будет легче поддерживать. Вы можете найти его здесь: http://developers.facebook.com/docs/sdks/

Используя его, я пишу это для вызова запросов FQL:

    $facebook = new Facebook(array(
        'appId'  => $fb_config["app_id"],
        'secret' => $fb_config["secret"],           
        'cookie' => true,));

    $params = array( 
        'queries' => $queries,
        'method' => "fql.multiquery"
    );

В зависимости от того, что вы пытаетесь сделать, вы также можете использовать Graph API для получения данных. В примере, который вы используете Graph API, может быть проще. Но если вы пытаетесь получить сложные данные, тогда лучше использовать FQL.

...