Итак, я пытаюсь манипулировать файлом functions.php в Wordpress, чтобы добавить функцию, которая будет выполнять вызов API к API Google Sheets с использованием OAUth 2.0 или ключа API (в зависимости от того, что более безопасно), получить список элементов в столбце и сохранить это в массиве $options, который затем будет отображаться в виде списка раскрывающегося меню.
Чтобы выполнить предварительное заполнение поля Select с помощью Ninja Forms, я сослался на https://francescocarlucci.com/wordpress/select-field-pre-population-ninja-forms/ $options — это массив, который при статической установке дает мне ожидаемое раскрывающееся меню: например. -
$options[1]['label'] = "One";
$options[2]['label'] = "Two";
$options[3]['label'] = "Three";
Я попробовал метод OAuth 2.0 с сайта https://developers.google.com/sheets/api/quickstart/php
В строке $client->setAuthConfig( '/credentials.json' );
код не может получить доступ к файлу учетных данных.json. Я добавил файл JSON и все другие соответствующие файлы API в ту же папку, что и functions.php. Также мне нужен способ автоматизировать
Я хочу, чтобы список элементов отображался в раскрывающемся списке Wordpress. Вместо этого я получаю пустую страницу и приведенную ниже трассировку стека в моем файле debug.log:
[09-Jul-2019 19:46:15 UTC] PHP Fatal error: Uncaught InvalidArgumentException: file "/credentials.json" does not exist in /var/www/html/wp-content/themes/twentynineteen/vendor/google/apiclient/src/Google/Client.php:870
#0 /var/www/html/wp-content/themes/twentynineteen/functions.php(322):
Google_Client->setAuthConfig('/credentials.js...')
#1 /var/www/html/wp-content/themes/twentynineteen/functions.php(371): getClient()
#2 /var/www/html/wp-content/themes/twentynineteen/functions.php(437): quickstart()
#3 /var/www/html/wp-includes/class-wp-hook.php(286): select_pre_population_callback(Array, Array)
#4 /var/www/html/wp-includes/plugin.php(208): WP_Hook->apply_filters(Array, Array)
#5 /var/www/html/wp-content/plugins/ninja-forms/includes/Display/Render.php(271): apply_filters('ninja_forms_ren...', Array, Array)
#6 /var/www/html/wp-content/plugins/ninja-forms/includes/Display/Render.php(400): NF_Display_Render::localize(1)
#7 /var/www/html/wp-content/plugins/ninja-forms/ninja-forms.php(935): NF_Display_Render::localize_preview('1')
#8 /var/www/h in /var/www/html/wp-content/themes/twentynineteen/vendor/google/apiclient/src/Google/Client.php on line 870
credentials.json
. Попробуйте вместо этого:$client->setAuthConfig( get_theme_file_path('credentials.json') );
- person cabrerahector   schedule 09.07.2019