Произошла ошибка клиента: Не удалось создать каталог хранения: / tmp / Google_Client / 00

Что означает эта ошибка с Youtube API v3.0:

A client error occurred: Could not create storage directory: /tmp/Google_Client/00 

Я использую API PHP Youtube в документации Google, найденной здесь .

Я решил эту проблему, не меняя ни одной линии API Google. В вашем php-коде вам нужно указать, где вы хотите, чтобы кэш-папка была:

 $config = new Google_Config(); $config->setClassConfig('Google_Cache_File', array('directory' => '../tmp/cache')); // Here I set a relative folder to avoid pb on permissions to a folder like /tmp that is not permitted on my mutualised host $client = new Google_Client($config); // And then, you pass the config for your GoogleClient 

Он отлично работает для меня с помощью Службы календаря Google.

У меня была аналогичная проблема. Я нахожусь на общем хостинге.

Я работал над youtube api, который просил меня создать папку Google_Client в главном \ tmp на сервере. Из-за ограничений, которых не было, поэтому я вошел в

google-api-php-client / src / conifg.php и изменил следующую строку.

  /***********************************Shared server therefore cannot write to server's /tmp drive therefore using an alternate location*************************************************/ //'ioFileCache_directory' => (function_exists('sys_get_temp_dir') ? sys_get_temp_dir().'/Google_Client' : '/tmp/Google_Client'), 'ioFileCache_directory' => 'tmp/Google_Client', 

Затем я создал tmp-каталог под google-api-php-client / src

Затем я создал каталог Google_Client в google-api-php-client / src / tmp

Это сработало для меня. Надеюсь это поможет. Если да, то отметьте это как ответ, поскольку у многих людей есть одна и та же проблема.

Для меня,

в Config.php line94:

change >> 'directory' => sys_get_temp_dir (). '/ Google_Client'

для >> 'directory' => '../tmp/Google_Client'

или любой другой каталог, который вы хотите

Наверное, это проще и лучше, но я нахожусь на собственном macbook воздухе:

Я запускаю xampp. Я использую по умолчанию 'htdocs' dir, '/ Applications / XAMPP / htdocs'.

так что я:

  1. отправился в этот каталог htdocs и запустил «mkdir tmp; chmod 777 tmp»,

  2. закомментировал оригинальную строку ioFileCache_directory и добавил свой собственный:

    // Конфигурация, зависящая от IO, вам нужно только настроить значения // для класса, который был настроен как ioClass выше

    'ioFileCache_directory' => '/ Applications / XAMPP / htdocs / tmp / GoogleClient',

    / * 'ioFileCache_directory' => (function_exists ('sys_get_temp_dir')? sys_get_temp_dir (). '/ Google_Client': '/ tmp / Google_Client'), * /

Вот и все. Не думайте, что мне пришлось перезапустить Apache.

Используйте это в своем PHP-коде:

 $client = new Google_Client(); $client->setCache(new Google_Cache_File('/path/to/shared/cache')); 

Вы суперпользователь?

 su password 

и это сработало для меня