重力形式WebAPI(GET Forbidden - PHP)

时间:2016-10-28 19:31:43

标签: php json wordpress gravity-forms-plugin

我正在尝试使用Wordpress Gravity Forms Web API从表单中获取条目并只显示它们。到目前为止我有这个,我确保检查我的API密钥和私钥是否正确,没有运气。无论我做什么,我都会收到禁止回复。

这是我的代码,有什么我做错了你能注意到吗?

<?php
$api_key = 'here';
$private_key = 'here';
$method  = 'GET';
$endpoint = 'http://website.co.uk/gravityformsapi/';
//$route = 'entries';
$route = 'forms/1/entries/';
$expires = strtotime('+60 mins');
$string_to_sign = sprintf('%s:%s:%s:%s', $api_key, $method, $route, $expires);
$sig = calculate_signature($string_to_sign, $private_key);

$api_call = $endpoint.$route.'?api_key='.$api_key.'&signature='.$sig.'&expires='.$expires;


$ch = curl_init($api_call);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

print_r($response);

echo $api_call;
function calculate_signature($string, $private_key) {
    $hash = hash_hmac("sha1", $string, $private_key, true);
    $sig = rawurlencode(base64_encode($hash));
    return $sig;
}
?>

谢谢!

1 个答案:

答案 0 :(得分:1)

模拟设置中的用户帐户需要具有相应的功能,在本例中为gravityforms_view_entries。您可能需要明确地将该功能分配给角色。

另外,尝试从路线中删除尾部斜杠。