PHP: плагин Wordpress – я хочу создать событие календаря Google в определенном общем календаре GooglePhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 PHP: плагин Wordpress – я хочу создать событие календаря Google в определенном общем календаре Google

Сообщение Anonymous »

Я хотел создать плагин WordPress для нашего музыкального оркестра. В этом плагине wp я хотел иметь возможность легко добавлять события в календарь Google. Мы используем 1 общий календарь Google. Я прочитал здесь несколько сообщений о возможностях и получил следующий код для обработки календаря Google:

Код: Выделить всё

 // Přidání funkce pro přidání události do Google Kalendáře
function add_event_to_google_calendar($event_details) {
error_log_with_timestamp('add_event_to_google_calendar called');
$credentials_path = plugin_dir_path(__FILE__) . 'credential.json'; // Ujistěte se, že cesta je správná
if (!file_exists($credentials_path)) {
error_log_with_timestamp('Credentials file not found: ' . $credentials_path);
return [
'error' => 'Credentials file not found.'
];
}

error_log_with_timestamp('Credentials file found: ' . $credentials_path);

// Načtení přihlašovacích údajů
$credentials = json_decode(file_get_contents($credentials_path), true);
if (json_last_error() !== JSON_ERROR_NONE) {
error_log_with_timestamp('Error decoding credentials file: ' . json_last_error_msg());
return [
'error' => 'Error decoding credentials file.'
];
}

// Získání přístupového tokenu
$token = get_google_access_token($credentials);
if (isset($token['error'])) {
error_log_with_timestamp('Error getting access token: ' . $token['error']);
return [
'error' => 'Error getting access token.test',//!!!!THIS LAST Error IF I USE POSTMAN!!!
'details' => $token['error']
];
}

// Vytvoření události pomocí HTTP požadavku
$calendarId = 'primary';
$url = "https://www.googleapis.com/calendar/v3/calendars/$calendarId/events";
$headers = [
'Authorization: Bearer ' . $token['access_token'],
'Content-Type: application/json'
];
$response = http_post($url, json_encode($event_details), $headers);

if ($response['status_code'] !== 200) {
error_log_with_timestamp('Error adding event to Google Calendar: ' . $response['body']);
return [
'error' => 'Error adding event to Google Calendar.',
'details' => $response['body']
];
}

$event = json_decode($response['body'], true);
error_log_with_timestamp('Event added to Google Calendar: ' . $event['id']);
return [
'success' => true,
'event_id' => $event['id']
];
}
Но я застрял на том этапе, когда пытался создать событие (через почтальона) и получал:

Код: Выделить всё

{
"error": "Error getting access token.test"
}
У меня есть учетная запись службы для Google API. у меня есть credential.json со всеми соответствующими данными. У меня нет OAuth, но, судя по тому, что я прочитал, мне это не нужно для моего варианта использования

Подробнее здесь: https://stackoverflow.com/questions/793 ... ecific-sha
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»