Ich versuche eine Aufgabe in Asana mit Perl zu erstellen. Ich verwende die folgenden Module:Erstellen einer Asana Aufgabe mit Perl
- WWW :: Locken :: Simple
- JSON
- HTTP :: Anfrage
Hier ist mein Code.
my %data = (
"data" => {
"workspace" => "##########", #$config->get('asana/workspace_id'),
"name" => "system error",
"assignee" => "me",
"projects" => "##########",
},
);
my @header = ('Authorization' => 'Bearer '.$personal_access_token));
my $curl = WWW::Curl::Simple->new();
my $uri = $config->get('asana/api_uri');
my $content = JSON->new->utf8->encode(\%data);
my $r = HTTP::Request->new(
'POST',
$uri,
\@header,
$content
);
my $res = $curl->request($r);
Wenn ich die Variable $ Inhalt drucke, sieht es so aus.
Wenn ich die $ r-Variable als Zeichenfolge drucke, sieht es so aus. („Persönliche Zugriffstoken“ zeigt meine den persönlichen Zugriffstoken, die ich zur Verfügung gestellt haben.)
POST https://app.asana.com/api/1.0/tasks
Authorization: Bearer <personal access token>
{"data":{"workspace":"##########","name":"CBC FZDS Billing - System Error"}}
Das Ergebnis aus $res->content
ist:
'{"errors":[{"message":"missing `workspace` field, and no `parent` or `projects` specified","help":"For more information on API status codes and how to handle them, read the docs on errors: https://asana.com/developers/documentation/getting-started/errors"}]}'
Irgendwelche Ideen, warum dies darauf hinweist, dass der Arbeitsbereich Feld fehlt ?
Aus den Beispielen sieht es wie oben aus -level 'Daten'-Schlüssel, den Sie haben, ist unnötig: https://asana.com/developers/api-reference/tasks#create –
@HunterMcMillen: Danke für Ihre Antwort. Hier ist jetzt die $ content-Variable. {"workspace": "#######", "name": "Systemfehler"} Hier ist die Variable $ r. POST https://app.asana.com/api/1.0/tasks Autorisierung: Bearer {"workspace": "#######", "name": "System Fehler "} Ich bekomme das gleiche Ergebnis von $ res-> Inhalt. Irgendwelche anderen Vorschläge? –