PHP: Wordpress-Plugin – Ich möchte ein Google-Kalenderereignis in einem bestimmten freigegebenen Google-Kalender erstellPhp

PHP-Programmierer chatten hier
Anonymous
 PHP: Wordpress-Plugin – Ich möchte ein Google-Kalenderereignis in einem bestimmten freigegebenen Google-Kalender erstell

Post by Anonymous »

Ich wollte ein WordPress-Plugin für unser Musikorchester erstellen. In diesem WP-Plugin wollte ich in der Lage sein, Ereignisse einfach zum Google-Kalender hinzuzufügen. Wir verwenden einen gemeinsamen Google-Kalender. Ich habe hier einige Beiträge über Möglichkeiten gelesen und bin bei diesem Code zur Handhabung von Google Kalender gelandet:

Code: Select all

 // 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']
];
}
Aber ich stecke an dem Punkt fest, an dem ich versucht habe, ein Ereignis zu erstellen (über den Postboten) und Folgendes zu erhalten:

Code: Select all

{
"error": "Error getting access token.test"
}
Ich habe ein Dienstkonto für Google API. Ich habe credential.json mit allen relevanten Daten. Ich habe kein OAuth, aber nach dem, was ich gelesen habe, brauche ich das für meinen Anwendungsfall nicht

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post