重力形式远程 Web API PHP
Gravity Forms Remote Web API PHP
我正尝试在其他网站上使用 Web API 从重力形式获取数据。我到目前为止有这个:
<?php
$field_filters = array (
array(
'key' => '50',
'operator' => 'is',
'value' => '2020'
)
);
$search['field_filters'] = $field_filters;
$search_json = urlencode( json_encode( $search ) );
$base_url = 'http://thewebsite.co.uk/';
$api_key = 'theykey';
$private_key = 'thekey';
$method = 'GET';
$route = 'forms/1/entries';
$expires = strtotime( '+60 mins' );
$string_to_sign = sprintf( '%s:%s:%s:%s', $api_key, $method, $route, $expires );
$sig = self::calculate_signature( $string_to_sign, $private_key );
//include field filters in search querystring parameter
$url = $base_url . $route . '?api_key=' . $api_key . '&signature=' . $sig . '&expires=' . $expires . '&paging[page_size]=1000&search=' . $search_json;
?>
我得到的只是 致命错误:当没有 class 作用域处于活动状态时无法访问 self:: 这是什么意思?任何帮助都会很棒!
而不是 self:: 你应该使用真正的 class 名字,比如 MyClass::。
Self 将仅在 class.
中定义的方法内部工作
self
是特殊关键字,即 "used to access properties or methods from inside the class definition" -- http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php
首先,确保calculate_signature()
方法是一个静态方法。参见 http://php.net/manual/en/language.oop5.php。
我猜是,如果是这样,那么您可以通过它的 class 名称而不是 self
访问它,即 ClassName::calculate_signature()
.
继续阅读:
我正尝试在其他网站上使用 Web API 从重力形式获取数据。我到目前为止有这个:
<?php
$field_filters = array (
array(
'key' => '50',
'operator' => 'is',
'value' => '2020'
)
);
$search['field_filters'] = $field_filters;
$search_json = urlencode( json_encode( $search ) );
$base_url = 'http://thewebsite.co.uk/';
$api_key = 'theykey';
$private_key = 'thekey';
$method = 'GET';
$route = 'forms/1/entries';
$expires = strtotime( '+60 mins' );
$string_to_sign = sprintf( '%s:%s:%s:%s', $api_key, $method, $route, $expires );
$sig = self::calculate_signature( $string_to_sign, $private_key );
//include field filters in search querystring parameter
$url = $base_url . $route . '?api_key=' . $api_key . '&signature=' . $sig . '&expires=' . $expires . '&paging[page_size]=1000&search=' . $search_json;
?>
我得到的只是 致命错误:当没有 class 作用域处于活动状态时无法访问 self:: 这是什么意思?任何帮助都会很棒!
而不是 self:: 你应该使用真正的 class 名字,比如 MyClass::。 Self 将仅在 class.
中定义的方法内部工作self
是特殊关键字,即 "used to access properties or methods from inside the class definition" -- http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php
首先,确保calculate_signature()
方法是一个静态方法。参见 http://php.net/manual/en/language.oop5.php。
我猜是,如果是这样,那么您可以通过它的 class 名称而不是 self
访问它,即 ClassName::calculate_signature()
.
继续阅读: