Ich versuche, die Asana-API zu verwenden, um eine Aufgabe mit einer POST-HTTP-Anfrage zu erstellen, aber ich bekomme immer eine 400 schlechte Anfrage als Antwort. mit (einer GET-Anfrage)Erstellen einer Asana Aufgabe mit einer POST-HTTP-Anfrage
ich es geschafft, Daten von der Asana-api zu bekommen, aber ich habe Probleme Daten Asana mit (einer POST-Anfrage)
Ich bin mit dem ‚Antrag‘ Modul sendet der aPI-Aufruf
hier ist die Fehlermeldung zu tun:
`{"errors":[{
"message":"Could not parse request data,invalid JSON",
"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"}
]}`
hier ist mein Code:
testTask(){
var taskName = "Test Name for a Test Task"
var workspaceID = "123456789"
var projectID = "123456789"
var assigneeID = "123456789"
var parentID = null
this.createTask(taskName, workspaceID, projectID, assigneeID, parentID)
}
createTask(taskName, workspaceID, projectID, assigneeID, parentID){
var token = "0/1234abcd5678efgh9102ijk"
var bearerToken = "Bearer " + token
var task = {
data: {
assignee: "me",
notes: "test test test test",
workspace: workspaceID,
name: taskName,
projects: [projectID],
parent: parentID
}
}
var options = {
"method" : "POST",
"headers" : {"Authorization": bearerToken},
"contentType": "application/json",
"payload" : JSON.stringify(task)
}
try {
var url = "https://app.asana.com/api/1.0/tasks";
request.post(url, options, function optionalCallback(err, httpResponse, body) {
if (err) {
return console.error('upload failed:', err);
}
console.log('Upload successful! Server responded with:', body);
});
}
catch (e) {
console.log(e);
}
}
Ich habe auch versucht, eine andere Implementierung:
createTask(){
var token = "0/1234abcd5678efgh9102ijk"
var bearerToken = "Bearer " + token
var options = {
"method" : "POST",
"headers" : {"Authorization": bearerToken},
}
try {
request.post("https://app.asana.com/api/1.0/tasks?workspace=1234567&projects=765534432&parent=null&name=taskName&assignee=me", options, function optionalCallback(err, httpResponse, body) {
if (err) {
return console.error('upload failed:', err);
}
console.log('Upload successful! Server responded with:', body);
});
}
catch (e) {
console.log(e);
}
}
Ich aktualisierte meine Frage durch Hinzufügen einer anderen Implementierung, die ich versuchte, wo ich keine Nutzlast verwendet habe und ich habe den gleichen Fehler – AziCode
Ich bin nicht vertraut mit diesem Modul, so kann nicht die beste Hilfe sein, um es zu beheben. Haben Sie versucht, die [Asana Node Client-Bibliothek] (https://github.com/Asana/node-asana) zu verwenden? Hier ist ein Beispiel für eine CURL-Anfrage, die funktioniert, um eine Aufgabe zu senden: 'curl --request POST -H" Autorisierung: Bearer 0/c12345 "\ https://app.asana.com/api/1.0/tasks \ -d "workspace" = "12345" \ -d "name" = "Aufgabe erstellen" – Jeff
Sie können keine POST-Anfrage machen und die Daten in die Abfrageparameter eingeben. Sie müssen in den Körper aufgenommen werden. "body": JSON.stringify (Aufgabe) – Mark