Поддержка Unicode в PHP по-прежнему огромна. Хотя он способен преобразовывать строку ISO8859 (которая используется внутри нее) в utf8, ей не хватает возможности работать с строками unicode изначально, что означает, что все функции обработки строк будут искажать и повреждать ваши строки. Таким образом, вам нужно либо использовать отдельную библиотеку для правильной поддержки utf8, либо самостоятельно переписать все функции обработки строк.
. Легкая часть - это просто указать кодировку в заголовках HTTP и в базе данных и т. Д., Но нет что имеет значение, если ваш PHP-код не выводит допустимый UTF8. Это сложная часть, и PHP практически не помогает. (Я думаю, что PHP6 должен исправить худшее из этого, но это все еще вдалеке)
Небольшое подмножество видео содержит белые списки на уровне домена или черные списки, применяемые к ним их владельцами контента. Эти ограничения не отражены в ответах API.
Это то, что вы видите с aaR72Xf_4wc
, а соответствующая часть в блоге о ограничениях воспроизведения -
Есть еще более тонкие ограничения, которые иногда вступают в игру. Не все из них в настоящее время запрашиваются через API. Например, некоторые видео доступны только для определенного набора доменов.
blockquote>
Возможно, вам также нужно включить фильтр для videoSyndicated
. Хотя я не знаю наверняка; это немного смущает меня.
Вы также можете filter by syndicatio n, если вы получаете доступ с мобильного устройства. Последнее, но не менее важное, связано с специфическими блоками .
Я предполагаю, что этого не было 2,5 года назад, но у текущего API есть указание для регионального блока при запросе contentDetails. вот ответ на такой запрос на 2 видео, первый из них заблокирован, а второй - нет. Обратите внимание на клавишу regionRestriction
:
{u'etag': u'"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/ZqEbAZJ-JFnYX3v37ZRuhK8FFN8"',
u'items': [{u'contentDetails': {u'caption': u'false',
u'definition': u'sd',
u'dimension': u'2d',
u'duration': u'PT2M5S',
u'licensedContent': False,
u'regionRestriction': {u'blocked': [u'NU',
u'BY',
u'NP',
u'NR',
u'WS',
u'TD',
u'SY',
u'NZ',
u'NE',
.
.
.
u'TG']}},
u'etag': u'"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/hM4srkgNUiZj2GtAhLDFoFrHnlk"',
u'id': u'WGf4mSBoCzQ',
u'kind': u'youtube#video'},
{u'contentDetails': {u'caption': u'false',
u'definition': u'sd',
u'dimension': u'2d',
u'duration': u'PT17M2S',
u'licensedContent': False},
u'etag': u'"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/JNjXh3lMwcaC9gtbzM-KmOQLh44"',
u'id': u'Tw75Dt8fBBs',
u'kind': u'youtube#video'}],
u'kind': u'youtube#videoListResponse',
u'pageInfo': {u'resultsPerPage': 2, u'totalResults': 2}}