plokko / laravel-msgraph
此包最新版本(0.2.1)的许可证信息不可用。
0.2.1
2023-10-09 13:39 UTC
Requires
- php: >=7.3
- league/oauth2-client: ^2.6
- microsoft/microsoft-graph: ^1.52
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");