2013-03-16 1 views
0

Я пытаюсь запросить токен для нового REST API с Perl и Net :: SSLeay (мой провайдер только поддерживает Net :: SSLeay, такие модули, как NET :: PayPal, не являются), но запрос не выполнен. Что я делаю не так? Особенно я не уверен, горячо установить «grant_type» ...запрос токена с Perl a Net :: SSLeay

use Net::SSLeay qw(get_https make_form make_headers post_https); 
use MIME::Base64; 
use strict; 

my $site = "api.sandbox.paypal.com"; 
my $port = "443"; 
my $path = "/v1/oauth2/token?grant_type=client_credentials"; 
my $uname = "my_client_id"; 
my $password = "my_secret"; 

$uname = encode_base64($uname); 
$password = encode_base64($password); 
my $cred = "Basic $uname:$password"; 

my ($page, $result, %headers) = post_https($site, $port, $path, make_headers(
'Accept'=>"application/json", 
'Accept-Language'=>"en_US", 
'Authorization'=>"$cred" 
)); 

Это кто-то, кто может помочь?

С наилучшими пожеланиями, Lars

+0

Пожалуйста, сообщите код ошибки! – fedorqui

ответ

0

вам нужно base64 строку "пользователя: пароль", а не по отдельности. Поэтому в вашем примере это должно быть:

my $ uname = "EN_Qsr0vnzjAI8iixqZHd2yoNtIZYDkdAreSpqbe3SiU"; my $ password = "EDQccsa77f81xM-QU9kADtioNtIZYDkdAreSpqbe3SiU";

my $ cred = "Basic". encode_base64 ($ uname. ":". $ password);

Смежные вопросы