2016-10-28 5 views
0

Wordpress Gravity Forms 웹 API를 사용하여 양식에서 항목을 가져 와서 표시하려고합니다. 지금까지 API 키와 비공개 키가 맞는지 확인하기 위해 행운을 남겼습니다. 내가하는 일과 상관없이 금지 된 응답을받습니다.Gravity Forms WebAPI (Get forbidden - PHP)

여기 내 코드가 있습니다. 내가 눈여겨 볼 수있는 일을 잘못하고 있습니까?

<?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

위장 설정의 사용자 계정에 적절한 기능 (이 경우 gravityforms_view_entries)이 있어야합니다. 이 기능을 역할에 명시 적으로 지정해야 할 수도 있습니다.

또한 경로에서 슬래시를 제거하십시오.