Rumah >pembangunan bahagian belakang >tutorial php >Mengulas, upvoting dan memuat naik foto dengan API 500px

Mengulas, upvoting dan memuat naik foto dengan API 500px

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌asal
2025-02-18 10:40:11510semak imbas

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.

Commenting, Upvoting and Uploading Photos with the 500px API

Ciri -ciri Utama:

  • Penglibatan pengguna yang dipertingkatkan: 500px API memberi kuasa kepada pengguna untuk secara aktif mengambil bahagian dengan mengundi, mengutamakan, dan mengulas pada foto. Keupayaan untuk memuat naik foto mereka sendiri meningkatkan penglibatan.
  • Pengesahan selamat: Kebenaran yang teguh adalah penting. Kami menggunakan A 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
  • Komen Komprehensif:
  • API memudahkan mengulas, membolehkan pengguna berkongsi pendapat mereka secara langsung pada foto. Kami akan mengendalikan kedua-dua komen satu peringkat dan bersarang.
  • Muat naik foto yang mudah:
  • Menggunakan , memuat naik foto dipermudahkan, membolehkan pemaju untuk mengintegrasikan fungsi ini dengan lancar.
  • Pengesahan dan Kebenaran: multipart/form-data Akses ke titik akhir API memerlukan pengesahan yang betul. Kami akan menggunakan
  • dan
yang diperoleh semasa pendaftaran permohonan pada 500px. A

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.

<code class="language-php">// 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;
});</code>

mengundi pada foto (ajax): PxOAuth

<code class="language-php">// app/src/PxOAuth.php

class PxOAuth {
    // ... (Class definition remains largely unchanged) ...
}</code>
Ajax menyediakan mekanisme pengundian yang responsif. Permintaan pos menghantar ID foto, dan pelayan mengembalikan respons JSON yang mengandungi ralat atau data foto yang dikemas kini.

pengendalian ralat memastikan kemerosotan anggun sekiranya berlaku kegagalan permintaan API.

Foto yang menggembirakan (Ajax):

<code class="language-php">// 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) ...</code>
Favoriting adalah serupa dengan pengundian, tetapi tanpa parameter badan tambahan.

undi pendua/kegemaran dikendalikan dengan melumpuhkan butang masing -masing.

mengulas:

<code class="language-php">// 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) ...</code>
Sistem komen dibahagikan kepada tiga bahagian: mengambil gambar tunggal, mengambil komen, dan menyiarkan komen baru.

Pengambilan foto tunggal:

Pengambilan Komen:

kami menggunakan titik akhir photos/:id/comments?nested=true untuk mendapatkan komen bersarang dengan cekap.

<code class="language-php">// 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;
});</code>

Pagination dikendalikan menggunakan atribut total_pages.

Commenting, Upvoting and Uploading Photos with the 500px API

Mengulas Komen Baru:

<code class="language-php">// app/src/PxOAuth.php

class PxOAuth {
    // ... (Class definition remains largely unchanged) ...
}</code>
pengendalian ralat menguruskan isu -isu yang berpotensi seperti permintaan tidak sah.

Commenting, Upvoting and Uploading Photos with the 500px API

Memuat naik foto:

Guzzle memudahkan muat naik fail. API menerima pelbagai parameter; Kami akan menggunakan

,

, dan fail foto. name description

<code class="language-php">// 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) ...</code>

Pengendalian ralat menangani isu -isu seperti format fail yang tidak disokong. Muat naik yang berjaya mengalihkan ke halaman foto baru. Commenting, Upvoting and Uploading Photos with the 500px API

Kesimpulan: Commenting, Upvoting and Uploading Photos with the 500px API

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.

(bahagian Soalan Lazim masih tidak berubah, tetapi boleh sedikit diganti semula untuk aliran dan kejelasan yang lebih baik jika diperlukan.)

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn