2014-01-19 3 views
0

Я новичок в php и с фреймворком приложения Facebook. Это моя проблема: у меня есть приложение php, которое получает информацию о профиле от пользователя Facebook и от каждого из его друзей. Все эти данные находятся в json-формате (извлекается по url "graph.facebook.com + некоторые поля + токен доступа"). Поэтому у меня есть определенное количество URL-адресов (json-файлов), равное количеству друзей пользователя, и я должен загрузить эти json-файлы на свой сервер (бесплатный). Псевдо-код, который я использую для достижения этого:Загрузить графический результат api

  • сборки graph.facebook.com URL с необходимыми полями и маркер доступа (https://graph.facebook.com/USER-ID?fields=field1,...,fieldN&access_token=ACCESS-TOKEN)
  • затем для каждого URL, я использую: file_put_contents($filename, file_get_contents($url))

Последний вопрос проблематичный. Поскольку токен имеет продолжительность действия в течение одного часа, у меня нет много времени для завершения всех операций, и с использованием file_put_contents($filename, file_get_contents($url)) это очень дорогое время.

Например: для пользователя с 400 друзьями приложение занимает 40 минут (более или менее).

поле таково: first_name,last_name,id,education,birthday,political,gender,hometown,relationshi‌p_status,religion,location,locations,work,interested_in,inspirational_people,spor‌​ts,likes

Есть ли у вас какие-либо идеи, чтобы решить эту проблему?

Спасибо всем!

+0

Какие поля вы захватываете? Возможно, все они могут быть восстановлены с помощью одного или двух вызовов Graph API. Если не с графиком, то я уверен, что с FQL результаты могут быть возвращены с одним или двумя запросами FQL. Сообщите нам, какие данные вам нужны, и мы можем предложить подход. – madebydavid

+0

Я отредактировал сообщение с необходимыми полями. @madebydavid вы думаете, что использование $ facebook-> api (..) является более быстрым способом? и почему? – enneppi

ответ

0

Я попробовал этот путь, и это быстрее: вместо того, чтобы использовать операции, описанные в посте выше, я использовал:

  • facebook апи: $facebook->api(with the necessary fields)
  • затем json_encode и file_put_contents я преобразующий массив возвращается apui и помещает его на сервер

вопрос: почему этот способ является более быстрым?

Смежные вопросы