使用 Perl 模块 LWP::Authen::OAuth2 创建 Google Team Drive
Create Google Team Drive with Perl module LWP::Authen::OAuth2
我正在尝试将 Perl 与 LWP::Authen::OAuth2 结合使用来执行 google 团队驱动器创建。了解使用 google Drive API 创建 google 团队驱动器,它需要发布 1 个参数,即 requestId
和另一个 json body name
(参考:https://developers.google.com/drive/api/v3/reference/teamdrives/create)
但是,我不断收到错误代码 400 和错误消息
The Team Drive name must be provided, not empty, and not entirely whitespace.
这表明 name
的 json 正文未正确发布。
下面是我的代码:
# Go get the auth tokens
$oauth2->request_tokens(code => $code);
my $requestID = "randomrequestID";
my $json = '{"name": "anyteamdrivename"}';
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json");
my $data = decode_json($resp->content());
use Data::Dumper;
print Dumper $data;
感谢具有 Perl 知识的人能够遮挡光线。
您在调用 ->post
时没有正确传递参数:
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json");
将所有从 Content-Type 开始的内容移出字符串:
my $resp = $oauth2->post(
"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID",
"Content-Type" => "application/json",
"Content" => $json
);
另请参阅 LWP::UserAgent 关于 ->post
方法的文档。
我正在尝试将 Perl 与 LWP::Authen::OAuth2 结合使用来执行 google 团队驱动器创建。了解使用 google Drive API 创建 google 团队驱动器,它需要发布 1 个参数,即 requestId
和另一个 json body name
(参考:https://developers.google.com/drive/api/v3/reference/teamdrives/create)
但是,我不断收到错误代码 400 和错误消息
The Team Drive name must be provided, not empty, and not entirely whitespace.
这表明 name
的 json 正文未正确发布。
下面是我的代码:
# Go get the auth tokens
$oauth2->request_tokens(code => $code);
my $requestID = "randomrequestID";
my $json = '{"name": "anyteamdrivename"}';
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json");
my $data = decode_json($resp->content());
use Data::Dumper;
print Dumper $data;
感谢具有 Perl 知识的人能够遮挡光线。
您在调用 ->post
时没有正确传递参数:
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json");
将所有从 Content-Type 开始的内容移出字符串:
my $resp = $oauth2->post(
"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID",
"Content-Type" => "application/json",
"Content" => $json
);
另请参阅 LWP::UserAgent 关于 ->post
方法的文档。