YouTube API没有此类文件或目录

时间:2013-11-21 09:35:01

标签: php youtube youtube-api

我是一位PHP新手,正在http://www.youtube.com/watch?v=LMhN6pCAZWo试用YouTube API演示。

我有google-api-php-client和yt-samples-php-master目录,他说要在

下载

www.mysite.com/video/google-api-php-client和 www.mysite.com/video/yt-samples-php-master

search.php文件位于yt-samples-php-master中,我已经复制了视频并设置了:

if ($_GET['q'] && $_GET['maxResults']) {
set_include_path("./google-api-php-client/src");
// Call set_include_path() as needed to point to your client library.
require_once 'Google_Client.php';
require_once 'contrib/Google_YouTubeService.php';

我可以访问www.mysite.com/videos/yt-samples-php-master/search.php,但是当我搜索时,我收到消息:

警告:require_once(Google_Client.php)[function.require-once]:无法打开流:/home/myusername/mysite.com/videos/yt-samples-php-master/search中没有此类文件或目录第17行的.php

致命错误:require_once()[function.require]:无法打开所需的' Google_Client.php'第17行/home/myusername/mysite.com/videos/yt-samples-php-master/search.php中的(include_path =' ./ google-api-php-client / src /')

我注意到Google提供的文件有错字require_once 'contrib/Google_YoutubeService.php'; 应为require_once 'contrib/Google_YouTubeService.php';

但这似乎没有帮助。非常感激地收到任何线索!

编辑:我还通过视频目录以递归方式将755设置为子目录和文件

4 个答案:

答案 0 :(得分:3)

已经很晚了。但有人可能会在将来寻找这个。
解决方案:

        
  • Google的php客户端使用composer,因此,您必须将路径放到自动加载文件中。
    链接:Google API PHP client
  •     
  • 删除或注释 Google_Client.php &的 require_once()方法的contrib / Google_YoutubeService.php
  •     
  • 在实例化时将类名从 Google_YoutubeService 重命名为 Google_Service_YouTube

答案 1 :(得分:0)

只需替换此./并尝试以下格式

set_include_path("google-api-php-client/src");

答案 2 :(得分:0)

google-api-php-client与您的项目位于同一文件夹中。确保将include设置为指向该目录。那个目录是755'。

同样在最新的(v1.0)php库中,他们改变了源的放置

require_once 'Google/Client.php';

require_once 'Google/Service/Youtube.php';

答案 3 :(得分:0)

好的,我过了一会儿就回来了。我已经设法通过以下方式获取search.php示例:

  • 在search.php中将require语句更改为: require_once'./google-api-php-client/src/Google_Client.php'; require_once'./ google-api-php-client/src/contrib/Google_YouTubeService.php'; 并注释掉set_include_path并跟随两个require_once行。

这会导致致命错误,说明在Google_YouTubeService.php中找不到Google_Service_YouTube类。然而,在该文件中有一个名为Google_YouTube_Service的类,我将其重命名,然后就可以了!