Включая реализацию файл (test.c
) заставляет это предварительно ожидаться к Вашему main.c и соответствовал тут же снова отдельно. Так, функция test
имеет два определения - один в объектном коде main.c
и однажды в том из test.c
, который дает Вам нарушение ODR. Необходимо создать заголовочный файл, содержащий объявление test
, и включать его в main.c
:
/* test.h */
#ifndef TEST_H
#define TEST_H
void test(); /* declaration */
#endif /* TEST_H */
Посмотрите ORTS , поддерживаемый Майклом Буро из Университета Альберты.
Я сам не использовал его, но видел его в действии еще до первого выпуска в 2003 году. , и это определенно растет семимильными шагами.
обязательно кэшировать результаты в течение определенного периода времени и делать новый запрос к вашему веб-сервису только после того, как истечет срок действия кеша (я использую 5-10 минут для большей части моего)Таким образом, в основном ваше приложение Facebook действует как прокси-сервер между веб-сайтом и пользователем, выполняющий всю аутентификацию и запросы с использованием законных средств.
Я использовал веб-сервис, потому что хотел поддерживать только одно приложение Facebook для нужд нескольких клиентов. Это работает примерно так (на не очень хорошей диаграмме ASCII):
Facebook User 1 \ / Client Website 1 Facebook User 2 --- Facebook App --- Client Website 2 Facebook User 3 / \ Client Website 3
Примечание: Я сделал это только для пользователей, а не для страниц, поэтому ваш опыт может отличаться.
AFAIK, кроме информации о пользователе, вы не можете получить какие-либо другие данные из facebook.
Но вы можете попробовать другой способ - скажем, создать приложение, в котором хранятся события и другая соответствующая информация на веб-сервер, а затем другой ваш веб-сайт могут легко получить доступ к этой информации.
Вы можете создать Events.get с API Facebook, а затем указать идентификатор страницы / профиля, для которого вы хотите получить события. В зависимости от того, как настроена ваша страница, вам, возможно, придется пройти аутентификацию, просто используйте свою учетную запись Facebook, поскольку у вас должен быть доступ ко всем событиям. о, и убедитесь, что у вас много кэширования, чтобы не попадать в Facebook при каждой загрузке страницы.