6

我正在尝试编写一个独立的 perl 应用程序,列出我存储在 Google 任务中的所有任务。我被引导相信我可以使用谷歌所谓的“简单 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;

并使用 API 控制台中列出的 Google 列出的客户端 ID、电子邮件地址和客户端密码 - 但他们都给出了Invalid Credentials.

任何人都可以帮忙吗?

4

1 回答 1

1

似乎不起作用,他们似乎已经禁用它以支持 oauth2,只是没有更新 apply-for-an-api-key 页面。改用 Oauth2:

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

如果你需要一个 api 密钥,你可以在这里得到它:

https://code.google.com/apis/console
于 2013-06-02T20:29:20.587 回答