Mendapatkan semula Token API dengan PHP
Anda bertujuan untuk buat pembungkus untuk API syarikat anda. Untuk mengesahkan dengan API, anda perlu mengekstrak token daripada badan tindak balas permintaan POST. Menggunakan perpustakaan Guzzle yang popular, anda menghadapi kesukaran mengakses token dalam objek respons Guzzle.
Pelaksanaan Guzzle PSR-7
Guzzle mematuhi PSR-7 standard, yang menggunakan pembungkus strim untuk badan tindak balas. Pembalut strim ini, dilaksanakan menggunakan strim temp PHP, menyimpan data badan tindak balas.
Mengakses Badan Respons
Untuk mendapatkan badan respons penuh, anda boleh menggunakan penghantaran rentetan PHP operator:
$contents = (string) $response->getBody();
Sebagai alternatif, kaedah getContents() strim boleh used:
$contents = $response->getBody()->getContents();
Perbezaan utama antara pendekatan ini terletak pada gelagat getContents(), yang hanya mengembalikan kandungan yang tinggal selepas panggilan pertama. Panggilan berikutnya akan mengembalikan rentetan kosong melainkan kedudukan strim dilaraskan menggunakan rewind() atau seek().
Contoh Kod
'http://companysub.dev.myapi.com/']); $response = $client->post('api/v1/auth/', [ 'form_params' => [ 'username' => $user, 'password' => $password ] ]); // Convert response body to string and decode JSON $contents = (string) $response->getBody(); $data = json_decode($contents, true); // Extract token $token = $data['data']['token'];
Setelah token diperoleh , anda boleh terus menggunakannya untuk pengesahan API.
Atas ialah kandungan terperinci Bagaimanakah Saya Mengakses Badan Respons dalam Guzzle HTTP v6 untuk Mendapatkan Token API?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!