重力形式远程 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().

继续阅读: