Я работаю над проектом и хочу получить вопросы о переполнении стека с помощью API переполнения стека. Я искал способ, как добиться того же здесь:
Но я не нашел ничего полезного, так как это старые методы. Они используют старые версии API Stack Overflow.
Проходя через stackapps, я прочитал, что для выполнения этой задачи я должен зарегистрировать свое приложение. Я зарегистрировал приложение на www.stackapps.com. и я получил идентификатор приложения и его секретный ключ.
Я посетил здесь https://api.stackexchange.com/docs/authentication уметь получать данные из стека API V 2.2. Они дали полезные ссылки для получения данных с помощью Stack Overflow API V 2.0 с использованием аутентификации через OAuth 2.0
Там написано запросить запрос у пользователя, а затем получить «код» и т. Д. Я застрял здесь. Каким должен быть процесс, чтобы двигаться вперед, используя PHP.
Мое приложение должно сделать это:
Пусть входная ссылка будет: https://api.stackexchange.com/2.2/questions?order=desc&сортировать = активность&сайт = StackOverflow
Я получаю данные этой страницы в любой из двух форм: HTML или JSON.
Можно ли это сделать без OAuth. Если нет, то, пожалуйста, руководство.
Предполагая, что вы зарегистрировали свою заявку.
Перейдите в раздел Управление приложениями здесь https://stackapps.com/apps/oauth
Включить клиентский поток в настройках приложения.
Теперь, когда вы хотите создать настольное приложение, выполните следующие шаги:
Сначала вам нужно получить токен доступа, перенаправив пользователя по этой ссылке:
https://stackexchange.com/oauth/dialog?client_id=[YOUR_APP_ID]&Объем = private_info&redirect_uri = https: //stackexchange.com/oauth/login_success
Вы (как пользователь) утвердите запрос, сделанный приложением. Затем вы будете перенаправлены на другую ссылку, в которой будет access_token.
Возьмите токен доступа оттуда и поместите его по этой ссылке:
Это будет ваш готовый API.
Получить контент с помощью:
$context = stream_context_create(array('https' => array('header'=>'Connection: close\r\n')));
$json_array = file_get_contents("YOUR_API_URL", false, $context);
$data = json_decode(gzdecode($json_array),true);
print_r($data); // Show your file data
Данные, которые вы получите, находятся в формате JSON и сжаты (из GZIP). Поэтому мы распаковали его и затем расшифровали JSON.
Это должно работать. Это сработало для меня. 🙂
Других решений пока нет …