Oauth 1.0 fatsecret api php
Я пытаюсь отправить простой запрос к api (rest) fatsecret с php, где я даю название еды (рис в этом примере) и получаю тип еды этого типа и его макронутриенты. У меня было много проблем с подписью oauth, но теперь я думаю, что я все делаю правильно и все еще получаю сообщение об ошибке: "Не удалось открыть поток: HTTP-запрос не выполнен! HTTP/1.1 400 Bad Request".
Ссылка API: https://platform.fatsecret.com/api/Default.aspx?screen=rapih
Вот код:
<?php
$req_url = 'http://www.fatsecret.com/oauth/request_token';
$authurl = 'http://www.fatsecret.com/oauth/authorize';
$acc_url = 'http://www.fatsecret.com/oauth/access_token';
$api_url = 'http://platform.fatsecret.com/rest/server.api?';
$uri = 'http://localhost/apitest/food.php';
$conskey='xxxxxx';
$seckey='xxxxxx';
$signature_method = 'OAUTH_SIG_METHOD_HMACSHA1';
$base = rawurlencode("GET")."&";
$base .= "http%3A%2F%2Fplatform.fatsecret.com%2Frest%2Fserver.api&";;
$params = $api_url."&";
//$params .= "food_id=".urlencode($api_url)."&";
$params .= "format=json&";
$params .= "method=food.search&";
$params .= "oauth_consumer_key=$conskey"."&";
$params .= "oauth_nonce=".rand()."&";
$params .= "oauth_signature_method=HMAC-SHA1&";
$params .= "oauth_timestamp=".time()."&";
$params .= "oauth_version=1.0&";
$params .= "search_expression = rice";
$params2 = rawurlencode($params);
$base .= $params2;
$sig= base64_encode(hash_hmac('sha1', $base, "xxxxxx&",true));
$url = $params."&oauth_signature=".rawurlencode($sig);
$food_feed = file_get_contents($url);
?>