Vimeo.php:简单请求无效
Vimeo.php : simple request not working
我正在尝试在我正在开发的 WordPress 网站上使用 vimeo.php。我已经下载了这个库并将它放在我的主题文件夹中。我还在 Vimeo API 的网站上创建了一个应用程序。我使用下面的代码:
// Include Vimeo's php library
require_once( "/assets/php/vimeo.php-1.3.0/autoload.php");
$client_id = 'xxxx'; //'Client identifier' in my app
$client_secret = 'xxxx'; // 'Client secrets' in my app
$lib = new \Vimeo\Vimeo($client_id, $client_secret);
function get_Vimeo(){
$response = $lib->request('https://vimeo.com/6327777', array(), 'GET');
return $response;
}
当我调用 get_Vimeo() 函数时,我得到一个 Fatal error: Call to a member function request() on null
.
Vimeo 的 API 对我来说有点晦涩,知道我做错了什么吗?
您要找的词是Variables Scope。
The scope of a variable is the context within which it is defined. For
the most part all PHP variables only have a single scope. This single
scope spans included and required files as well.
$lib
是您在文件中定义的变量。
您不能仅仅因为它在文件中而在函数中访问它,它是另一个范围。
在函数中使用 global $lib
以访问它。
示例:
$var = 'something';
function testA(){
echo $var; //null
}
function testB(){
global $var;
echo $var; //something
}
Ofir Baruch 的回答非常有帮助,但我正在回答我自己的问题以获得更彻底的修复。
$lib
的范围确实有问题,但是第一个请求参数也有问题。 Vimeo.php 库构建了一个 URL 像这样: 'api.vimeo.com' 。 'first_argument'。这是对我有用的固定代码:
// Include Vimeo's php library
require_once( "/assets/php/vimeo.php-1.3.0/autoload.php");
$client_id = 'xxxx'; //'Client identifier' in my app
$client_secret = 'xxxx'; // 'Client secrets' in my app
$lib = new \Vimeo\Vimeo($client_id, $client_secret);
// Set the access token (from my Vimeo API app)
$lib->setToken('xxx...xxx');
function get_Vimeo(){
global $lib;
$response = $lib->request('/videos/6327777', array(), 'GET');
return $response;
}
我正在尝试在我正在开发的 WordPress 网站上使用 vimeo.php。我已经下载了这个库并将它放在我的主题文件夹中。我还在 Vimeo API 的网站上创建了一个应用程序。我使用下面的代码:
// Include Vimeo's php library
require_once( "/assets/php/vimeo.php-1.3.0/autoload.php");
$client_id = 'xxxx'; //'Client identifier' in my app
$client_secret = 'xxxx'; // 'Client secrets' in my app
$lib = new \Vimeo\Vimeo($client_id, $client_secret);
function get_Vimeo(){
$response = $lib->request('https://vimeo.com/6327777', array(), 'GET');
return $response;
}
当我调用 get_Vimeo() 函数时,我得到一个 Fatal error: Call to a member function request() on null
.
Vimeo 的 API 对我来说有点晦涩,知道我做错了什么吗?
您要找的词是Variables Scope。
The scope of a variable is the context within which it is defined. For the most part all PHP variables only have a single scope. This single scope spans included and required files as well.
$lib
是您在文件中定义的变量。
您不能仅仅因为它在文件中而在函数中访问它,它是另一个范围。
在函数中使用 global $lib
以访问它。
示例:
$var = 'something';
function testA(){
echo $var; //null
}
function testB(){
global $var;
echo $var; //something
}
Ofir Baruch 的回答非常有帮助,但我正在回答我自己的问题以获得更彻底的修复。
$lib
的范围确实有问题,但是第一个请求参数也有问题。 Vimeo.php 库构建了一个 URL 像这样: 'api.vimeo.com' 。 'first_argument'。这是对我有用的固定代码:
// Include Vimeo's php library
require_once( "/assets/php/vimeo.php-1.3.0/autoload.php");
$client_id = 'xxxx'; //'Client identifier' in my app
$client_secret = 'xxxx'; // 'Client secrets' in my app
$lib = new \Vimeo\Vimeo($client_id, $client_secret);
// Set the access token (from my Vimeo API app)
$lib->setToken('xxx...xxx');
function get_Vimeo(){
global $lib;
$response = $lib->request('/videos/6327777', array(), 'GET');
return $response;
}