PHP YouTube Data API получает информацию о канале без присяги

Я хочу получить информацию о канале на основе имени пользователя или идентификатора канала. Эта информация получена из URL, используемого для просмотра этого канала.

EX: https://www.youtube.com/user/csga5000, или же, https://www.youtube.com/channel/some-channel-id

У меня есть этот код:

$this->load->library('APIs/YouTube');
echo "[";
echo json_encode($this->youtube->getId('channel/UCkklJA9WbtJM5-g21xHI3yA'),false);
echo "\n]";

Вызванная функция:

public function getId($url) {
$id = explode('/', $url);
echo json_encode($id).',';

//User's channel
if ($id[0] === 'user') {
$response = $this->youtube->channels->listChannels('id,snippet',array(
'forUsername' => $id[1]
));
}
//Channel id
else {
$response = $this->youtube->channels->listChannels('id,snippet',array(
'id' => $id[1],
'maxResults' => 2
));
}

return $response;
}

Вот функция конструкции для класса YouTube:

public function __construct()
{
$this->client = new Google_Client();
$this->client->setDeveloperKey($this->api_key);
$this->client->setClientId($this->client_id);
$this->client->setClientSecret($this->client_secret);
$this->client->setScopes(array(
Google_Service_Oauth2::PLUS_LOGIN,
Google_Service_Oauth2::PLUS_ME,
Google_Service_Oauth2::USERINFO_EMAIL,
Google_Service_Oauth2::USERINFO_PROFILE,
Google_Service_YouTube::YOUTUBE
));

$ci =& get_instance();
$this->client->setRedirectUri($ci->config->item('base_url').'auth/youtube/');

$this->oauth = new Google_Service_Oauth2($this->client);

$this->youtube = new Google_Service_YouTube($this->client);
}

Вызов функции с ‘user / csga5000’ также не работает

Результаты распечатаны:

[
[
"channel",
"UCkklJA9WbtJM5-g21xHI3yA"],
{
"etag":"\"IHLB7Mi__JPvvG2zLQWAg8l36UU\/KcPrlZVHCJ9bAKurpGOj1BBEH6g\"",
"eventId":null,
"kind":"youtube#channelListResponse",
"nextPageToken":null,
"prevPageToken":null,
"visitorId":null
}
]

Я просто хочу такие результаты:

https://www.googleapis.com/youtube/v3/channels?part=id%2Csnippet&ID = UCkklJA9WbtJM5-g21xHI3yA&ключ ={} YOUR_API_KEY

или же

https://www.googleapis.com/youtube/v3/channels?part=id%2Csnippet&forUsername = csga5000&ключ ={} YOUR_API_KEY

Что вы можете проверить здесь:
https://developers.google.com/youtube/v3/docs/channels/list#try-it

С именем пользователя csga5000 или идентификатором UCkklJA9WbtJM5-g21xHI3yA

Все примеры, которые я нашел, использовали «mine => true» и oauth для загрузки этих данных, поэтому ничего в Google или переполнение стека не показалось полезным.

1

Решение

Я просто упустил что-то глупое, я был очень смущен ответом.

Мне нужна была строка:

$response->getItems();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]