plokko/laravel-msgraph

此包最新版本(0.2.1)的许可证信息不可用。

0.2.1 2023-10-09 13:39 UTC

This package is auto-updated.

Last update: 2024-09-09 15:47:18 UTC


README

安装

使用composer安装

composer require plokko/laravel-msgraph

Laravel >=5.5将自动发现并注册所需的服务。

如果您使用的是laravel <5.5,您需要在您的/config/app.php中手动注册提供者

<?php
//...
   'providers' => [
         //...
         plokko\MsGraph\MsGraphServiceProvider::class,
         //...
   ],
//...

配置

MSGRAPH_TENANT=<YOUR-TENANT-ID>
MSGRAPH_CLIENT_ID=<YOUR-CLIENT-ID>
MSGRAPH_CLIENT_SECRET=<YOUR-CLIENT-SECRET>
MSGRAPH_REDIRECT_URI=<YOUR-URL-CALLBACK>

用户

获取用户

您可以通过id获取有关用户的信息

$user = MsGraph::User()->find("USER-ID");
/**@var \Microsoft\Graph\Model\User $user**/

或通过主体名称

$user = MsGraph::User()->findByPrincipalName("user@principal.name");

列出用户

$userQuery = MsGraph::User()->list();
$userQuery
    ->take(5)//limit to 5
    ->search('displayName:Test')//Search
    ->orderBy('displayName')//Order
    ->select(['id','displayName'])//Select fields
    ;

$users = $userList->get(); // Execute the query
/**@var \Microsoft\Graph\Model\User[] $users**/

计数用户

您可以通过像列出用户一样的方式计数用户

$userQuery = MsGraph::User()->list();
$userQuery
    ->search('displayName:Test')
    ;

$count = $userList->count(); // Execute the query
/**@var int $count**/

创建用户

// Prepare your user data as a Microsoft\Graph\Model\User object or as an Array of key-values
$userData = new \Microsoft\Graph\Model\User([
    "mailNickname" => 'UserName',
    "displayName" => "User Name",
    "givenName" => "User",
    "surname" => "Name",

    "password" => "TheUserPassword123",

    "jobTitle" => null,
    "mail" => "test@user.sample",
    "userPrincipalName" => "test@user.sample",
    
    "mobilePhone" => null,
    "businessPhones" => ['0000 123456'],

    "officeLocation" => null,
    "preferredLanguage" => null,
]);
// Or
$userData = [
    "mailNickname" => 'UserName',
    "displayName" => "User Name",
    "givenName" => "User",
    "surname" => "Name",

    "password" => "TheUserPassword123",

    "jobTitle" => null,
    "mail" => "test@user.sample",
    "userPrincipalName" => "test@user.sample",
    
    "mobilePhone" => null,
    "businessPhones" => ['0000 123456'],

    "officeLocation" => null,
    "preferredLanguage" => null,
];
//...
$password = null; //If set will overwrite user password in data
$accountEnabled = null; // If the account is enabled, if set will overwrite user data, if null and not set in user data it will default to true
$forcePasswordChange = false; // Will force password change on next login (see passwordProfile)
MsGraph::User()->create($userData,$password,$accountEnabled,$forcePasswordChange);

更新用户

// Prepare your user data as a Microsoft\Graph\Model\User object or as an Array of key-values
// id or userPrincipalName are required to identify the user
// You can fill only the information you want to change
$userData = new \Microsoft\Graph\Model\User([
    'id' => 'your-user-id',
    "mailNickname" => 'UserName',
]);
// Or
$userData = [
    "userPrincipalName" => "test@user.sample",
    "mailNickname" => 'UserName',
];
//...
MsGraph::User()->update($userData);

删除用户

可以通过id删除用户

MsGraph::User()->delete("USER-ID");

或通过主体名称

MsGraph::User()->deleteByPrincipalName("user@principal.name");