2015-01-31 47 views
0

我有一个问题将此代码翻译为Guzzle(Guzzle3和Guzzle4 = GuzzleHttp)。正如你可以看到它使用BASIC AUTH,相信我我尝试了很多组合,任何想法?感谢Guzzle 3/4 - 无法POST

function get_auth($params) { 

$client_id = 'name'; 
$secret = 'WEirdCombINationOfCharacters'; 

$opts[CURLOPT_POSTFIELDS] = http_build_query($params, null, '&'); 
$opts[CURLOPT_RETURNTRANSFER] = true; 
$opts[CURLOPT_FRESH_CONNECT] = true; 
$opts[CURLOPT_USERPWD] = "$client_id:$secret"; 
$opts[CURLOPT_HTTPAUTH] = CURLAUTH_BASIC; 
$opts[CURLOPT_URL] = 'https://address.com/oauth/token'; 

$ch = curl_init(); 

curl_setopt_array($ch, $opts); 
$result = curl_exec($ch); 
curl_close($ch); 
$result_object = json_decode($result); 

if($result_object->error_description) trigger_vg_error($result_object->error_description); 

return $result_object; 
} 

回答

0

只是为了留下痕迹(使用狂饮3)BASIC_AUTH

$http = new Client('https://asite.com', array(
    'request.options' => array(
     'auth' => array($client_id, $client_secret, 'Basic') 
    ) 

$request = $http->post('/oauth/token', null, array(
     'code'   => $_GET['code'], 
     'grant_type' => 'authorization_code' 
    ));