Create Google Team Drive with Perl module LWP::Authen::OAuth2
up vote
2
down vote
favorite
I'm trying to use Perl with LWP::Authen::OAuth2 to perform google team drive creation. Understand to create google team drive using google Drive API, it requires 1 param to be posted that is requestId
and another json body name
(reference: https://developers.google.com/drive/api/v3/reference/teamdrives/create)
However, I keep getting the error code 400 and error message saying
The Team Drive name must be provided, not empty, and not entirely whitespace.
which indicate the json body of name
is not posted correctly.
Below is my code:
# 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;
Appreciate if someone with Perl knowledge will be able to shade some light.
json perl lwp
add a comment |
up vote
2
down vote
favorite
I'm trying to use Perl with LWP::Authen::OAuth2 to perform google team drive creation. Understand to create google team drive using google Drive API, it requires 1 param to be posted that is requestId
and another json body name
(reference: https://developers.google.com/drive/api/v3/reference/teamdrives/create)
However, I keep getting the error code 400 and error message saying
The Team Drive name must be provided, not empty, and not entirely whitespace.
which indicate the json body of name
is not posted correctly.
Below is my code:
# 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;
Appreciate if someone with Perl knowledge will be able to shade some light.
json perl lwp
1
You are not correclty passing the parameters:"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json"
- move everything starting fromContent-Type
out of the string.
– Corion
Nov 12 at 9:07
i just change it tomy $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID", "Content-Type => application/json", "Content => $json");
but im still getting the same error code and message
– Armitage
Nov 12 at 9:18
1
Yes, because you're still passing the parameters wrong. See the documentation ofLWP::UserAgent
on->post
: metacpan.org/pod/LWP::UserAgent . You need'Content-Type' => 'application/json', 'Content' => $json)
.
– Corion
Nov 12 at 9:20
oh my, you are right Corion. Such a simple yet accurate answer from you. I just corrected them and it works, thanks Corion.
– Armitage
Nov 12 at 9:37
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I'm trying to use Perl with LWP::Authen::OAuth2 to perform google team drive creation. Understand to create google team drive using google Drive API, it requires 1 param to be posted that is requestId
and another json body name
(reference: https://developers.google.com/drive/api/v3/reference/teamdrives/create)
However, I keep getting the error code 400 and error message saying
The Team Drive name must be provided, not empty, and not entirely whitespace.
which indicate the json body of name
is not posted correctly.
Below is my code:
# 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;
Appreciate if someone with Perl knowledge will be able to shade some light.
json perl lwp
I'm trying to use Perl with LWP::Authen::OAuth2 to perform google team drive creation. Understand to create google team drive using google Drive API, it requires 1 param to be posted that is requestId
and another json body name
(reference: https://developers.google.com/drive/api/v3/reference/teamdrives/create)
However, I keep getting the error code 400 and error message saying
The Team Drive name must be provided, not empty, and not entirely whitespace.
which indicate the json body of name
is not posted correctly.
Below is my code:
# 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;
Appreciate if someone with Perl knowledge will be able to shade some light.
json perl lwp
json perl lwp
edited Nov 12 at 10:54
simbabque
43.6k754101
43.6k754101
asked Nov 12 at 8:40
Armitage
182
182
1
You are not correclty passing the parameters:"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json"
- move everything starting fromContent-Type
out of the string.
– Corion
Nov 12 at 9:07
i just change it tomy $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID", "Content-Type => application/json", "Content => $json");
but im still getting the same error code and message
– Armitage
Nov 12 at 9:18
1
Yes, because you're still passing the parameters wrong. See the documentation ofLWP::UserAgent
on->post
: metacpan.org/pod/LWP::UserAgent . You need'Content-Type' => 'application/json', 'Content' => $json)
.
– Corion
Nov 12 at 9:20
oh my, you are right Corion. Such a simple yet accurate answer from you. I just corrected them and it works, thanks Corion.
– Armitage
Nov 12 at 9:37
add a comment |
1
You are not correclty passing the parameters:"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json"
- move everything starting fromContent-Type
out of the string.
– Corion
Nov 12 at 9:07
i just change it tomy $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID", "Content-Type => application/json", "Content => $json");
but im still getting the same error code and message
– Armitage
Nov 12 at 9:18
1
Yes, because you're still passing the parameters wrong. See the documentation ofLWP::UserAgent
on->post
: metacpan.org/pod/LWP::UserAgent . You need'Content-Type' => 'application/json', 'Content' => $json)
.
– Corion
Nov 12 at 9:20
oh my, you are right Corion. Such a simple yet accurate answer from you. I just corrected them and it works, thanks Corion.
– Armitage
Nov 12 at 9:37
1
1
You are not correclty passing the parameters:
"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json"
- move everything starting from Content-Type
out of the string.– Corion
Nov 12 at 9:07
You are not correclty passing the parameters:
"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json"
- move everything starting from Content-Type
out of the string.– Corion
Nov 12 at 9:07
i just change it to
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID", "Content-Type => application/json", "Content => $json");
but im still getting the same error code and message– Armitage
Nov 12 at 9:18
i just change it to
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID", "Content-Type => application/json", "Content => $json");
but im still getting the same error code and message– Armitage
Nov 12 at 9:18
1
1
Yes, because you're still passing the parameters wrong. See the documentation of
LWP::UserAgent
on ->post
: metacpan.org/pod/LWP::UserAgent . You need 'Content-Type' => 'application/json', 'Content' => $json)
.– Corion
Nov 12 at 9:20
Yes, because you're still passing the parameters wrong. See the documentation of
LWP::UserAgent
on ->post
: metacpan.org/pod/LWP::UserAgent . You need 'Content-Type' => 'application/json', 'Content' => $json)
.– Corion
Nov 12 at 9:20
oh my, you are right Corion. Such a simple yet accurate answer from you. I just corrected them and it works, thanks Corion.
– Armitage
Nov 12 at 9:37
oh my, you are right Corion. Such a simple yet accurate answer from you. I just corrected them and it works, thanks Corion.
– Armitage
Nov 12 at 9:37
add a comment |
1 Answer
1
active
oldest
votes
up vote
3
down vote
accepted
You are not correctly passing the parameters in your call to ->post
:
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json");
Move everything starting from Content-Type out of the string:
my $resp = $oauth2->post(
"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID",
"Content-Type" => "application/json",
"Content" => $json
);
See also the documentation of LWP::UserAgent on the ->post
method.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53258442%2fcreate-google-team-drive-with-perl-module-lwpauthenoauth2%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
3
down vote
accepted
You are not correctly passing the parameters in your call to ->post
:
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json");
Move everything starting from Content-Type out of the string:
my $resp = $oauth2->post(
"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID",
"Content-Type" => "application/json",
"Content" => $json
);
See also the documentation of LWP::UserAgent on the ->post
method.
add a comment |
up vote
3
down vote
accepted
You are not correctly passing the parameters in your call to ->post
:
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json");
Move everything starting from Content-Type out of the string:
my $resp = $oauth2->post(
"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID",
"Content-Type" => "application/json",
"Content" => $json
);
See also the documentation of LWP::UserAgent on the ->post
method.
add a comment |
up vote
3
down vote
accepted
up vote
3
down vote
accepted
You are not correctly passing the parameters in your call to ->post
:
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json");
Move everything starting from Content-Type out of the string:
my $resp = $oauth2->post(
"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID",
"Content-Type" => "application/json",
"Content" => $json
);
See also the documentation of LWP::UserAgent on the ->post
method.
You are not correctly passing the parameters in your call to ->post
:
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json");
Move everything starting from Content-Type out of the string:
my $resp = $oauth2->post(
"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID",
"Content-Type" => "application/json",
"Content" => $json
);
See also the documentation of LWP::UserAgent on the ->post
method.
answered Nov 12 at 9:39
Corion
2,458722
2,458722
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53258442%2fcreate-google-team-drive-with-perl-module-lwpauthenoauth2%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
You are not correclty passing the parameters:
"https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID, Content-Type => application/json, Content => $json"
- move everything starting fromContent-Type
out of the string.– Corion
Nov 12 at 9:07
i just change it to
my $resp = $oauth2->post("https://www.googleapis.com/drive/v3/teamdrives?requestId=$requestID", "Content-Type => application/json", "Content => $json");
but im still getting the same error code and message– Armitage
Nov 12 at 9:18
1
Yes, because you're still passing the parameters wrong. See the documentation of
LWP::UserAgent
on->post
: metacpan.org/pod/LWP::UserAgent . You need'Content-Type' => 'application/json', 'Content' => $json)
.– Corion
Nov 12 at 9:20
oh my, you are right Corion. Such a simple yet accurate answer from you. I just corrected them and it works, thanks Corion.
– Armitage
Nov 12 at 9:37