Laravel та Microsoft Graph: інтеграція для ефективних рішень

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 03 січня, 2025
Вам цікаво, як інтегрувати послуги Microsoft у ваш проект на Laravel? У статті розглядається пакет Laravel Microsoft Graph, який спрощує доступ до різноманітних функцій Microsoft, таких як управління електронною поштою, файлами в OneDrive та багато іншого. Долучайтеся до читання, щоб дізнатися, як реалізувати ці можливості у своїй програмі!

Microsoft Graph — це потужний інструмент, що надає розробникам можливість доступу та використання даних з різних послуг Microsoft, зокрема Office 365, Windows та платформ безпеки.

Laravel Microsoft Graph, створений розробником Девідом Карром, є пакетом, який забезпечує безшовну інтеграцію з REST API Microsoft Graph, спрощуючи взаємодію розробників із деякими хмарними сервісами Microsoft.

# Основні функції

На даний момент доступні такі функції:

# Встановлення та налаштування

Спочатку встановіть пакет через Composer:

composer require dcblogdev/laravel-microsoft-graph

Далі опублікуйте файл конфігурації:

php artisan vendor:publish --provider="Dcblogdev\MsGraph\MsGraphServiceProvider" --tag="config"

Це створить файл конфігурації за адресою config/msgraph.php.

Оновіть ваш файл .env наступними даними:

MSGRAPH_CLIENT_ID=your-client-id
MSGRAPH_SECRET_ID=your-client-secret
MSGRAPH_TENANT_ID=your-tenant-id
 
MSGRAPH_OAUTH_URL=https://yourdomain.com/msgraph/oauth
MSGRAPH_LANDING_URL=https://yourdomain.com/msgraph

Потім опублікуйте міграцію:

php artisan vendor:publish --provider="Dcblogdev\MsGraph\MsGraphServiceProvider" --tag="migrations"

Зверніть увагу: якщо ви використовуєте Microsoft Graph як сервіс автентифікації, також додайте слухача:

php artisan vendor:publish --provider="Dcblogdev\MsGraph\MsGraphServiceProvider" --tag="Listeners"

Це створить app/Listeners/NewMicrosoft365SignInListener.php з типовим слухачем, після чого ви можете додати його до app/Providers/AppServiceProvider:

public function boot(): void
{
    Event::listen(
        NewMicrosoft365SignInEvent::class,
        [NewMicrosoft365SignInListener::class, 'handle']
    );
}

# Приклади

# 1. Автентифікація користувача

use Dcblogdev\MsGraph\MsGraph;
 
// Перенаправляємо користувача на сторінку входу Microsoft
return (new MsGraph())->connect();
 
// Обробка зворотного виклику після входу
$msGraph = new MsGraph();
$user = $msGraph->get('/me');
 
return $user;

# 2. Надсилання електронної пошти

use Dcblogdev\MsGraph\MsGraph;
 
$msGraph = new MsGraph();
 
$msGraph->emails()
        ->to(['test@example.com'])
        ->subject('Привіт від Laravel News')
        ->body('Це тестовий лист від Laravel News.')
        ->send();

# 3. Перегляд файлів OneDrive

use Dcblogdev\MsGraph\MsGraph;
 
$msGraph = new MsGraph();
$files = $msGraph->files()->getFiles('/path/to/folder', 'me');
# Другий параметр визначає, чи використовувати ваш OneDrive, чи групи
# $files = $msGraph->files()->getFiles('/path/to/folder', "groups/$groupId");
 
return $files;

Якщо ви перебуваєте в екосистемі M365 і користуєтеся Laravel, то пакет Laravel Microsoft Graph може стати для вас незамінним інструментом. Його простота інтеграції API та зручні методи роблять його відмінним вибором для проектів на Laravel, які потребують доступу до функцій Microsoft Graph.

Для детальнішої інформації ознайомтеся з повною документацією та перегляньте джерельний код на GitHub.