在 Laravel 5 中使用 Google Drive Api
Posted
技术标签:
【中文标题】在 Laravel 5 中使用 Google Drive Api【英文标题】:Use Google Drive Api in Laravel 5 【发布时间】:2015-06-13 03:17:59 【问题描述】:我是 Laravel 的新手,当然这个问题有一个明显的答案,但是我一直无法将 Laravel 5 与 Google Api 连接起来。
我像往常一样用 composer 安装了 Api,它在我的供应商文件夹中,但现在我不知道如何使用它。
我还没有找到答案(因为这一定非常简单)。
可能我缺少命名空间调用,或类似的东西。
在我的 IndexController 上,我有:
<?php
namespace App\Http\Controllers;
class IndexController extends Controller
/**
* Show the application welcome screen to the user.
*
* @return Response
*/
public function index()
$client = new Google_Client();
$client->setApplicationName("Client_Library_Examples");
$client->setDeveloperKey("HERE_GOES_MY_KEY");
$service = new Google_Service_Drive($client);
$results = $service->volumes->listVolumes();
foreach ($results as $item)
echo $item['volumeInfo']['title'], "<br /> \n";
我得到的错误是:
找不到类“App\Http\Controllers\Google_Client”
我认为可能是 autoload_classmap 的问题,但是定义了所有 GoogleApi 类,例如:
(...)
'Google_Client' => $vendorDir 。 '/google/apiclient/src/Google/Client.php',
(...)
'Google_Service_Drive' => $vendorDir 。 '/google/apiclient/src/Google/Service/Drive.php',
感谢您的耐心和帮助!
【问题讨论】:
【参考方案1】:我想我有。
我只需要设置:
use Google_Client;
use Google_Service_Drive;
【讨论】:
或者你可以使用完全命名空间的类名,如果你只打算使用一次的话。看起来$client = new \Google_Client()
会很好。通常根命名空间 \ 是默认的,但由于您在自定义命名空间中,您需要使用您的方法或我的方法指定不同的命名空间。您可以看到 PHP 假定可以在 App\Http\Controllers
中找到未命名空间的类 - 与您当前的类相同的命名空间。【参考方案2】:
检查文件 composer.json
如果不存在,则在类映射数组中添加“vendor/google/apiclient/src/Google”。
然后运行composer dump-autoload
"autoload":
"classmap": [
"vendor/google/apiclient/src/Google"
]
【讨论】:
以上是关于在 Laravel 5 中使用 Google Drive Api的主要内容,如果未能解决你的问题,请参考以下文章
如何在 laravel 5 中插入和更新图像 Summernote
在 Laravel 中使用 Google Drive API
google map api no display laravel 5.4