php 如何在dacastro 4 laravel-gmail包的控制器中设置env?

zbq4xfa0  于 2022-11-21  发布在  PHP
关注(0)|答案(1)|浏览(122)

我试图实现Gmail API的CRM基于laravel,用户可以存储多个谷歌凭据和使用这些凭据用户可以登录与他们的谷歌帐户.
我使用的是dacastro4 laravel-gmail package,但对于默认设计的dacastro 4/laravel-gmail包,这些Google凭据存储在laravel项目的.env文件中。
文件

GOOGLE_PROJECT_ID=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=

`
我尝试在控制器构造函数中设置.env变量,但不起作用例如,

env('GOOGLE_PROJECT_ID',$project_id);
//OR
putenv("GOOGLE_PROJECT_ID=".$project_id);
//OR
config(['GOOGLE_PROJECT_ID' => $project_id])

还尝试了供应商dacastro 4 laravel-gmail包中的设置,但数据库模型不可访问。
如何从控制器设置多个Google凭据?
谢谢你,谢谢你

km0tfn4u

km0tfn4u1#

您可以使用config()方法设置这些数据,因为Laravel就是这样访问.env变量的。
为变量创建配置文件:
config/gmail.php

<?php

return [
    'project_id' => env('GOOGLE_PROJECT_ID'),
    'client_id' => env('GOOGLE_CLIENT_ID'),
    'client_secret' => env('GOOGLE_CLIENT_SECRET'),
    'redirect_url' => env('GOOGLE_REDIRECT_URI', '/'),
]

然后使用以下方法在控制器中设置值:

config(['gmail.project_id' => $project_id]);

并使用以下方法检索值:

config('gmail.project_id');

相关问题