Tutorial ini menunjukkan bagaimana untuk memanfaatkan API 500px untuk meningkatkan interaksi pengguna dengan foto, membolehkan pengundian, pemilihan, mengulas, dan memuat naik. Kami akan membina ansuran sebelumnya, yang meliputi mengambil dan memaparkan foto.
Ciri -ciri Utama:
consumer_key
Integrasi Ajax yang lancar: consumer_secret
Asynchronous JavaScript dan XML (AJAX) memastikan pengalaman pengguna yang lancar untuk mengundi dan mengadakannya. Kemas kini dicerminkan dalam masa nyata tanpa muat semula halaman. token
token_secret
multipart/form-data
Akses ke titik akhir API memerlukan pengesahan yang betul. Kami akan menggunakan dan diperoleh melalui aplikasi geran untuk tujuan ujian.
Kelas consumer_key
menguruskan komunikasi dengan API 500px: consumer_secret
token
token_secret
Pembalakan Guzze didayakan dalam mod debug untuk penyelesaian masalah yang dipertingkatkan.
// bootstrap/start.php App::singleton('pxoauth', function(){ $host = 'https://api.500px.com/v1/'; $consumer_key = 'YOUR CONSUMER KEY'; $consumer_secret = 'YOUR CONSUMER SECRET'; $token = 'GRANT TOKEN'; $token_secret = 'GRANT TOKEN SECRET'; $oauth = new PxOAuth($host, $consumer_key, $consumer_secret, $token, $token_secret); return $oauth; });
mengundi pada foto (ajax): PxOAuth
// app/src/PxOAuth.php class PxOAuth { // ... (Class definition remains largely unchanged) ... }
pengendalian ralat memastikan kemerosotan anggun sekiranya berlaku kegagalan permintaan API.
Foto yang menggembirakan (Ajax):
// app/routes.php Route::post('/ajax/photo/vote', ['uses' => 'PXController@vote']); // app/controllers/PXController.php public function vote() { // ... (Function definition remains largely unchanged) ... } // public/js/vote_favorite.js // ... (JavaScript code remains largely unchanged) ...
undi pendua/kegemaran dikendalikan dengan melumpuhkan butang masing -masing.
mengulas:
// app/routes.php Route::post('/ajax/photo/favorite', ['uses' => 'PXController@favorite']); // app/controllers/PXController.php public function favorite() { // ... (Function definition remains largely unchanged) ... // public/js/vote_favorite.js // ... (JavaScript code remains largely unchanged) ...
Pengambilan foto tunggal:
Pengambilan Komen:
kami menggunakan titik akhir Pagination dikendalikan menggunakan atribut Mengulas Komen Baru:
Guzzle memudahkan muat naik fail. API menerima pelbagai parameter; Kami akan menggunakan , dan fail foto. Pengendalian ralat menangani isu -isu seperti format fail yang tidak disokong. Muat naik yang berjaya mengalihkan ke halaman foto baru. Kesimpulan: Tutorial ini mempamerkan subset keupayaan API 500px. Terokai dokumentasi API dan contoh lain untuk pembangunan selanjutnya. Kod yang disediakan menawarkan asas untuk membina platform interaksi foto yang lebih komprehensif.
Atas ialah kandungan terperinci Mengulas, upvoting dan memuat naik foto dengan API 500px. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!photos/:id/comments?nested=true
untuk mendapatkan komen bersarang dengan cekap. // bootstrap/start.php
App::singleton('pxoauth', function(){
$host = 'https://api.500px.com/v1/';
$consumer_key = 'YOUR CONSUMER KEY';
$consumer_secret = 'YOUR CONSUMER SECRET';
$token = 'GRANT TOKEN';
$token_secret = 'GRANT TOKEN SECRET';
$oauth = new PxOAuth($host, $consumer_key, $consumer_secret, $token, $token_secret);
return $oauth;
});
total_pages
.
// app/src/PxOAuth.php
class PxOAuth {
// ... (Class definition remains largely unchanged) ...
}
name
description
// app/routes.php
Route::post('/ajax/photo/vote', ['uses' => 'PXController@vote']);
// app/controllers/PXController.php
public function vote() {
// ... (Function definition remains largely unchanged) ...
}
// public/js/vote_favorite.js
// ... (JavaScript code remains largely unchanged) ...