2012-04-21 32 views
6

我正在嘗試編寫一個獨立的perl應用程序,列出存儲在Google Tasks中的所有任務。我被引導相信我可以使用谷歌稱之爲「簡單API訪問」的內容,因爲這只是我的任務,而且是隻讀的。谷歌簡單API訪問 - 需要授權,但如何?

所以我做了以下內容:

#!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; 

作爲回報,我得到:

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

不幸的是我不知道它想在這一點上什麼樣的認證。我試着用替換最後一行:

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

,並使用谷歌列出的客戶端ID,郵箱地址和客戶端祕密的API控制檯中列出 - 但他們都放棄Invalid Credentials

任何人都可以幫忙嗎?

+0

任何這運氣?我有同樣的問題 – Kevin 2013-05-30 17:35:05

+0

不,我從來沒有設法找到解決方案,所以放棄了。抱歉。 – Richard 2013-06-01 19:19:33

+0

經過相當多的研究後,它似乎並不可用。我不知道他們爲什麼仍然在api關鍵部分提到'簡單API訪問'。它確實在幾個地方提到了「貶值」,但它真的只是關閉。使用oauth2 - https://developers.google.com/oauthplayground/ – Kevin 2013-06-02 20:28:04

回答

1

似乎沒有工作,他們似乎已經禁用了它的oauth2,並且沒有更新apply-for-api-key頁面。使用的oauth2代替:

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

如果你需要一個API密鑰,你可以在這裏:

https://code.google.com/apis/console