【问题标题】:Creating a new instance of youtube library with Laravel per user每个用户使用 Laravel 创建一个新的 youtube 库实例
【发布时间】:2015-02-09 22:25:08
【问题描述】:

项目

我正在构建一个社交仪表板,它使用 Laravel 和这个库 https://github.com/alaouy/youtube 从 youtube 中提取内容。

问题

当我在包配置文件中设置消费者密码时,一切都很好,但我希望每个仪表板都有自己的 API 密钥,以将速率限制等限制在每个特定的仪表板上。目前,我的应用程序中有功能可以将他们的密钥保存到数据库并检索它。但是,我对如何根据当前仪表板更改此键感到困惑。如果我覆盖了配置文件,肯定会为系统上的每个用户更新,这是不好的。

感觉我需要为每个用户创建一个新的库实例并传入 API 密钥。这可能是目前 Laravel 在引擎盖下的工作方式,但我不确定。如果是这样,我真的不确定如何以良好的可扩展方式解决此问题。

【问题讨论】:

    标签: php api laravel youtube


    【解决方案1】:

    您可以在运行时设置 Laravel 配置值,从而覆盖配置文件中的 API 密钥。
    试试这个:

    Config::set('alaouy/youtube::KEY', 'the-api-key');
    

    【讨论】:

    • 这是我最初的想法。但是,冒着听起来像个白痴的风险,这是否意味着将为系统的所有用户设置配置,而不仅仅是为该频道设置?
    • 不,这只会影响当前请求。它不会以任何方式更改配置文件或保留 API 密钥。
    • 好酷。因此,如果用户 A 将其更新为他们的密钥,那么当用户 B 更新时,他们本质上就不会一直为同一个变量而战?
    • 不,这应该不是问题:)
    猜你喜欢
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 2014-05-20
    相关资源
    最近更新 更多