2012-04-21 12 views
6

Google Görevler'de saklanan tüm görevlerimi listeleyen bağımsız bir perl uygulaması yazmaya çalışıyorum. Google'ın "Basit API Erişimi" dediği şeyi kullanabileceğime inanıyorum çünkü bu sadece benim görevlerim ve sadece okunıyor. KarşılığındaGoogle Basit API Erişimi - Yetkilendirme gerekli, ancak nasıl?

#!perl 
use LWP; 
my $browser = LWP::UserAgent->new; 
my $list = "Iyrhxu8sRTVOhE4hUBr4W1kwNTI6MDow"; 
my $key = "<api key removed>"; 
my $url = "https://www.googleapis.com/tasks/v1/lists/$list/tasks?pp=1&key=$key"; 
print $browser->get($url)->content; 

, alıyorum::

Yani aşağıdaki yaptım

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "Login Required", 
    "locationType": "header", 
    "location": "Authorization" 
    } 
    ], 
    "code": 401, 
    "message": "Login Required" 
} 
} 

Ne yazık ki bu noktada ne istediğini yetkilendirme bilemezsin. Birlikte son satırı yerine çalıştı:

my $auth = "..."; 
print $browser->get($url, "Authorization", $auth)->content; 

ve API Konsolu listelenen Google listelenen Müşteri kimliği, E-posta adresi ve Müşteri Sırrı kullanarak - ama hepsi Invalid Credentials verdi.

Herkes yardımcı olabilir mi?

+0

Herhangi şans? Aynı problemi yaşıyorum – Kevin

+0

Hayır, asla bir çözüm bulmayı başaramadım ve pes ettim. Afedersiniz. – Richard

+0

Biraz araştırdıktan sonra, müsait görünmüyor. Neden api anahtar bölümünde hala 'basit API erişiminden' söz ettiklerini bilmiyorum. Birkaç yerde "amortismana tabi" denir, ama gerçekten kapalıdır. Oauth2 - https://developers.google.com/oauthplayground/ adresini kullanın – Kevin

cevap

1

Çalışmıyor gibi gözüküyorsa, oauth2'nin lehine devre dışı bırakılmış gibi görünüyor ve sadece bir "api-api-key" başvurusunu güncelleştirmediniz. yerine kullan OAuth2: Bir API anahtarı gerekiyorsa

https://developers.google.com/oauthplayground/ 

, buradan elde edebilirsiniz: Bununla

https://code.google.com/apis/console 
İlgili konular