Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Z tego przewodnika dowiesz się, jak skonfigurować prostą aplikację wiersza poleceń w PHP, która wysyła żądania do interfejsu YouTube Data API. Ten przewodnik zawiera informacje o tym, jak wysłać 2 żądania do interfejsu API:
Aby pobrać informacje o kanale GoogleDevelopers w YouTube, użyjesz klucza interfejsu API, który identyfikuje Twoją aplikację.
Aby przesłać autoryzowane żądanie, które pobiera informacje o Twoim kanale w YouTube, użyjesz identyfikatora klienta OAuth 2.0.
Wymagania wstępne
Aby uruchomić ten przewodnik, musisz mieć:
PHP w wersji 5.4 lub nowszej z zainstalowanym interfejsem wiersza poleceń (CLI) i rozszerzeniem JSON.
Biblioteka klienta interfejsów API Google do języka PHP:
Jeśli nie masz jeszcze zainstalowanej biblioteki klienta:
composer require google/apiclient:^2.0
Jeśli biblioteka klienta została już zainstalowana, zalecamy jej zaktualizowanie, aby mieć pewność, że korzystasz z najnowszych klas biblioteki, którą testujesz:
Utwórz klucz interfejsu API
Klucz interfejsu API będzie służyć do wysyłania żądań interfejsu API, które nie wymagają autoryzacji użytkownika. Na przykład nie musisz mieć autoryzacji użytkownika, aby pobrać informacje o publicznym kanale w YouTube.
Utwórz identyfikator klienta OAuth 2.0
Ustaw typ aplikacji na Inne. W przypadku żądań, które wymagają autoryzacji użytkownika, musisz używać danych logowania OAuth 2.0. Na przykład musisz uzyskać autoryzację użytkownika, aby pobrać informacje o kanale w YouTube obecnie uwierzytelnionego użytkownika.
Pobierz plik JSON zawierający dane logowania OAuth 2.0. Plik ma nazwę podobną do client_secret_CLIENTID.json, gdzie CLIENTID to identyfikator klienta projektu.
Krok 2. Skonfiguruj i uruchom przykład
Użyj widżetu API Explorer w panelu bocznym, aby uzyskać przykładowy kod do pobierania informacji o kanale GoogleDevelopers w YouTube. To żądanie używa klucza interfejsu API do identyfikowania aplikacji i nie wymaga autoryzacji użytkownika ani specjalnych uprawnień od użytkownika uruchamiającego przykład.
Otwórz dokumentację metody channels.list interfejsu API.
Na tej stronie w sekcji „Typowe przypadki użycia” znajduje się tabela, która wyjaśnia kilka typowych sposobów użycia tej metody. Pierwsza pozycja w tabeli dotyczy wyników wyświetlania według identyfikatora kanału.
Kliknij symbol kodu przy pierwszej pozycji, aby otworzyć i wypełnić narzędzie APIs Explorer na pełnym ekranie.
Po lewej stronie narzędzia APIs Explorer w trybie pełnoekranowym widać:
Pod nagłówkiem Parametry żądania znajduje się lista parametrów obsługiwanych przez tę metodę. Wartości parametrów part i id powinny być ustawione. Wartość parametru id, czyli UC_x5XG1OV2P6uZZ5FSM9Ttw, to identyfikator kanału GoogleDevelopers w YouTube.
Pod parametrami znajduje się sekcja Dane logowania. Menu w tej sekcji powinno zawierać wartość Klucz interfejsu API. Eksplorator interfejsów API domyślnie używa danych logowania wersji demonstracyjnej, aby ułatwić rozpoczęcie pracy. Aby uruchomić przykład lokalnie, użyjesz własnego klucza interfejsu API.
Po prawej stronie eksploratora interfejsów API na pełnym ekranie znajdują się karty z przykładami kodu w różnych językach. Wybierz kartę PHP.
Skopiuj przykładowy kod i zapisz go w pliku o nazwie example.php.
W pobranym przykładzie znajdź ciąg znaków YOUR_API_KEY i zastąp go kluczem interfejsu API utworzonym w kroku 1 tego przewodnika.
Uruchom przykład z wiersza poleceń. W katalogu roboczym uruchom:
php example.php
Przykładowy kod powinien wykonać żądanie i wyświetlić odpowiedź w STDOUT.
Krok 3. Uruchom autoryzowane żądanie
W tym kroku zmodyfikujesz przykładowy kod, aby zamiast pobierać informacje o kanale GoogleDevelopers w YouTube, pobierał informacje o Twoim kanale w YouTube. To żądanie wymaga autoryzacji użytkownika.
Wróć do dokumentacji metody channels.list interfejsu API.
W sekcji „Typowe przypadki użycia” kliknij symbol kodu przy trzeciej pozycji na liście w tabeli. W tym przypadku chodzi o wywołanie metody list dla „my
channel”.
Po lewej stronie narzędzia APIs Explorer w trybie pełnoekranowym zobaczysz listę parametrów, a za nią sekcję Dane logowania. W porównaniu z przykładem, w którym pobierasz informacje o kanale GoogleDevelopers, występują jednak 2 różnice:
W sekcji parametrów zamiast wartości parametru id powinna być ustawiona wartość parametru mine na true. To polecenie nakazuje serwerowi API pobranie informacji o kanale aktualnie uwierzytelnionego użytkownika.
W sekcji Dane logowania w menu powinno być wybrane Google OAuth 2.0.
Jeśli klikniesz link Pokaż zakresy, powinien być zaznaczony zakres https://www.googleapis.com/auth/youtube.readonly.
Podobnie jak w poprzednim przykładzie wybierz kartę PHP, skopiuj przykładowy kod i zapisz go w example.php.
W kodzie znajdź ciąg znaków YOUR_CLIENT_SECRET_FILE.json i zastąp go lokalizacją pliku tajnych danych klienta pobranego w kroku 1 tego przewodnika.
Uruchom przykład z wiersza poleceń. W katalogu roboczym uruchom:
php example.php
Skopiuj adres URL z konsoli i otwórz go w przeglądarce.
Jeśli nie jesteś zalogowany(-a) na konto Google, pojawi się prośba o zalogowanie się. Jeśli logujesz się na kilka kont Google, pojawi się prośba o wybranie jednego konta do autoryzacji.
Kliknij przycisk, aby przyznać aplikacji dostęp do zakresów określonych w przykładowym kodzie.
Skopiuj kod autoryzacji z przeglądarki i wklej go w terminalu. Następnie możesz zamknąć kartę przeglądarki używaną w procesie autoryzacji.
Odpowiedź interfejsu API powinna ponownie zostać wydrukowana w STDOUT.
[null,null,["Ostatnia aktualizacja: 2025-08-21 UTC."],[[["\u003cp\u003eThis guide demonstrates setting up a PHP command-line application to interact with the YouTube Data API.\u003c/p\u003e\n"],["\u003cp\u003eThe guide covers making two distinct API requests: one using an API key to get information about the GoogleDevelopers YouTube channel, and another using OAuth 2.0 to access data about your own YouTube channel.\u003c/p\u003e\n"],["\u003cp\u003eTo run this quickstart, you'll need PHP 5.4 or greater, the Composer dependency management tool, and the Google APIs Client Library for PHP.\u003c/p\u003e\n"],["\u003cp\u003eThe setup involves creating an API key for public data requests and an OAuth 2.0 client ID for requests needing user authorization, both within the Google API Console.\u003c/p\u003e\n"],["\u003cp\u003eThe guide will also help with running an authorized request by using the \u003cem\u003emine\u003c/em\u003e parameter set to true, which fetches information for the authenticated user's channel.\u003c/p\u003e\n"]]],["This guide demonstrates using the YouTube Data API with PHP. It outlines two types of API requests: one using an API key to retrieve public channel data, and another using OAuth 2.0 for authorized access to a user's own channel data. The process involves setting up a project in the API Console, enabling the YouTube Data API, and generating both an API key and an OAuth 2.0 client ID. Sample code is provided and instructions are given for updating parameters, integrating credentials and running the scripts to retrieve information from the API.\n"],null,["# PHP Quickstart\n\nThis quickstart guide explains how to set up a simple, PHP\ncommand-line application that makes requests to the YouTube Data API. This\nquickstart actually explains how to make two API requests:\n\n1. You will use an API key, which identifies your application, to retrieve information about the GoogleDevelopers YouTube channel.\n2. You will use an OAuth 2.0 client ID to submit an *authorized* request that retrieves information about your own YouTube channel.\n\n| **Note:** More generally, you can follow the instructions for the first example for any use case that uses an API key or the instructions for the second example for any use case that requires authorization using OAuth 2.0. See the [use cases and code samples tool](/youtube/v3/code_samples/code_snippets) for more examples.\n\nPrerequisites\n-------------\n\nTo run this quickstart, you'll need:\n\n- PHP 5.4 or greater with the command-line interface (CLI) and JSON extension installed.\n- The Composer dependency management tool [installed globally](https://getcomposer.org/doc/00-intro.md#globally) {: target=\"_blank\"}\n- The Google APIs Client Library for PHP:\n - If you have not previously installed the client library: \n\n ```\n composer require google/apiclient:^2.0\n ```\n - If you previously installed the client library, we recommend updating it to ensure that you have the most up-to-date classes for the library you are testing: \n\n ```\n composer update google/apiclient --with-dependencies\n ```\n\nStep 1: Set up your project and credentials\n-------------------------------------------\n\nCreate or select a project in the [API Console](https://console.cloud.google.com/). Complete the following tasks in the API Console for your project:\n\n1. In the [library panel](https://console.developers.google.com/apis/library),\n search for the YouTube Data API v3. Click into the listing for that API and\n make sure the API is enabled for your project.\n\n2. In the [credentials\n panel](https://console.developers.google.com/apis/credentials),\n create two credentials:\n\n 1. **Create an API key**\n You will use the API key to make API requests that do\n not require user authorization. For example, you do not need user\n authorization to retrieve information about a public YouTube channel.\n\n 2. **Create an OAuth 2.0 client ID**\n\n Set the application type to **Other**. You need to use OAuth 2.0\n credentials for requests that require user authorization. For example,\n you need user authorization to retrieve information about the currently\n authenticated user's YouTube channel.\n\n Download the JSON file that contains your OAuth 2.0 credentials. The\n file has a name like `client_secret_CLIENTID.json`, where `CLIENTID` is\n the client ID for your project.\n\nStep 2: Set up and run the sample\n---------------------------------\n\nUse the APIs Explorer widget in the side panel to obtain sample code for\nretrieving information about the GoogleDevelopers YouTube channel. This request\nuses an API key to identify your application, and it does not require user\nauthorization or any special permissions from the user running the sample.\n\n1. Open the documentation for the API's [channels.list](/youtube/v3/docs/channels/list) method.\n2. On that page, the \"Common use cases\" section contains a table that explains\n several common ways that the method is used. The first listing in the table\n is for listing results by channel ID.\n\n Click the code symbol for the first listing to open and populate the\n fullscreen APIs Explorer.\n\n3. The left side of the fullscreen APIs Explorer shows the following:\n\n 1. Below the **Request parameters** header, there is a list of parameters\n that the method supports. The `part` and `id` parameter values should\n be set. The `id` parameter value, `UC_x5XG1OV2P6uZZ5FSM9Ttw`, is the\n ID for the GoogleDevelopers YouTube channel.\n\n 2. Below the parameters, there is a section named **Credentials** . The\n pulldown menu in that section should display the value **API key**. The\n APIs Explorer uses demo credentials by default to make it easier to get\n started. But you'll use your own API key to run the sample locally.\n\n4. The right side of the fullscreen APIs Explorer shows tabs with code samples\n in different languages. Select the **PHP** tab.\n\n5. Copy the code sample and save it in a file named\n `example.php`.\n\n6. In the sample that you downloaded, find the `YOUR_API_KEY` string and\n replace that with the API key that you created in step 1 of this quickstart.\n\n7. Run the sample from the command line. In your working directory, run:\n\n\n `php example.php`\n\n8. The sample should execute the request and print the response to `STDOUT`.\n\nStep 3: Run an authorized request\n---------------------------------\n\nIn this step, you'll modify your code sample so that instead of retrieving\ninformation about the GoogleDevelopers YouTube channel, it retrieves information\nabout *your* YouTube channel. This request does require user authorization.\n\n1. Go back to the documentation for the API's\n [channels.list](/youtube/v3/docs/channels/list) method.\n\n2. In the \"Common use cases\" section, click the code symbol for the third\n listing in the table. That use case is to call the `list` method for \"my\n channel.\"\n\n3. Again, in the left side of the fullscreen APIs Explorer, you will see a\n list of parameters followed by the **Credentials** section. However, there\n are two changes from the example where you retrieved information about the\n GoogleDevelopers channel:\n\n 1. In the parameters section, instead of the `id` parameter value being\n set, the `mine` parameter value should be set to `true`. This instructs\n the API server to retrieve information about the currently authenticated\n user's channel.\n\n 2. In the **Credentials** section, the pulldown menu should select the\n option for **Google OAuth 2.0**.\n\n In addition, if you click the **Show scopes** link, the\n **https://www.googleapis.com/auth/youtube.readonly** scope should be\n checked.\n\n4. As with the previous example, select the **PHP** tab,\n copy the code sample, and save it to `example.php`.\n\n\n In the code, find the `YOUR_CLIENT_SECRET_FILE.json` string and replace\n it with the location of the client secret file you downloaded in step 1\n of this quickstart.\n5. Run the sample from the command line. In your working directory, run:\n\n\n `php example.php`\n\n6. \u003cbr /\u003e\n\n\n Copy the URL from the console and open it in your browser.\n\n If you are not already logged into your Google account, you will be\n prompted to log in. If you are logged into multiple Google accounts, you\n will be asked to select one account to use for the authorization.\n7. Click the button to grant your application access to the scopes specified in\n your code sample.\n\n8. \u003cbr /\u003e\n\n\n Copy the auth code from the browser and paste it into your terminal. You can\n then close the browser tab used for the auth flow.\n\n The API response should again be printed to `STDOUT`.\n\nFurther reading\n---------------\n\n- [Google Developers Console help documentation](/console/help/new)\n- [Google APIs Client Library for PHP documentation](/api-client-library/php)\n- [Google APIs Client Library for PHP on GitHub](https://github.com/googleapis/google-api-php-client) and [autogenerated classes](https://github.com/googleapis/google-api-php-client-services/tree/master/src/Google/Service) for the YouTube API. (On the page, find the `YouTube` folder and the `YouTube.php` file.\n- [YouTube Data API reference documentation](/youtube/v3/docs)"]]