Closed GreenPepperYT closed 2 years ago
Abend, die URL ist falsch, die Action muss auch direkt in der URL übergeben werden.
Als bspw: "https://cp.winterhost.de/index.php?page=api_v1_discord&action=getUserData" oder "https://cp.winterhost.de/api/v1/discord/getUserData". Die Parameter für die Action brauchst Du nicht im Body übergeben.
Die Angabe des Tokens muss als folgender Parameter übergeben werden: X-Auth-Token anstatt authToken. Einfach austauschen, dann erneut testen. :)
Grüße aus Gelsenkirchen, Björn Schleyer
Alles klar, habe das soweit alles ausgetauscht und es sieht nun so aus:
import requests
authToken = "test"
url = "https://cp.test.de/api/v1/discord/getUserData"
def call_api():
print("Calling API")
respone = requests.get(url, headers={"X-Auth-Token": authToken})
print(respone)
call_api()
Nun kriege ich eine 500 Response, kann sein das ich was übersehen habe, wenn ja, tuts mir leid.
Wie ich sehe, hast Du ein Problem mit dem error_reporting - schau bestenfalls mal selbst auf die URL: https://cp.winterhost.de/api/v1/discord/getUserData
Welche PHP-Version hast Du eingestellt?
Ich habe die PHP Version 8.0.18.
Bitte zwischen PHP7.0 oder PHP7.4 auswählen, dann sollte alles funktionieren.
okay. Habe das probiert und kriege auch eine 200. nur wie kriege ich die Daten von wem? Heißt aktuell ist bei getData alles null, was muss ich da ändern / eintragen damit die Daten vom User angezeigt werden?
Hallo, habe gerade nochmal nachgeschaut, bei jedem API-Call muss im Body, die Support-PIN mit übergeben werden. Darüber wird alles wiedergegeben.
Heißt: "import requests
authToken = "test" url = "https://cp.winterhost.de/api/v1/discord/getUserData"
def call_api(): print("Calling API") respone = requests.get(url, headers={"X-Auth-Token": authToken}, params={"support_pin": "12345"}) print(respone)
call_api()"
Als Beispiel.
Hey, Habe es grade ausprobiert und kriege leider trotz der Support-Pin überall null raus.
Abend, persönlich kann ich dir dabei nicht weiterhelfen, da ich mit der Sprache nicht vertraut bin. Wie es in PHP gehen würde, könnte ich dir sagen.
Tut mir leid.
Okay. Wäre im Grunde Python. Wüsstest du auch nicht, wie ich das ganze in JavaScript darstelle?
Kann ich dir am Wochenende fertig machen, bin die ganze Woche noch unterwegs. Gerne auch im Discord anschreiben, dann kann vergisst man das nicht.
Alles klar, danke. Werde dir dann per Discord schreiben.
Das wäre ein Beispiel aus unserem JS-Discord-Bot.
const url = "https://portal.german-host.io/api/v1/discord/setDiscordID/";
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
"X-Auth-Token": "BOT_TOKEN"
};
try {
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify({
'support_pin': `${supportpin}`,
'discord_id': `${interaction.member.id}`,
})
}).then(response => response.json()).then(json => {
console.log(json);
if(json.state == "success"){
// handling by success state
} else {
// handling error
}
});
} catch(err) {
console.log(err);
}
Okay, nutzt ihr ein bestimmtes JS Package?
Nein.
Habe das ganze nun ausprobiert und kriege zwar einen 'success' jedoch ist immer noch alles null & die Discord-ID wird nicht gesetzt.
import fetch from 'node-fetch';
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
"X-Auth-Token": "test"
};
try {
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify({
'support_pin': '71706',
'discord_id': '123',
})
}).then(response => response.json()).then(json => {
console.log(json);
if(json.state == "success"){
//handling by success state
} else {
//handling error
}
});
} catch (err) {
console.log(err);
}```
Ich habe gerade mal die Backend-Files dafür abgeändert und die API-Files auch. Einfach einsetzen, erneut testen.
Alles klar, funktioniert danke. Soll ich für eine Frage zu den Emails einen neuen Issue öffnen oder kann ich diese Frage direkt hier stellen?
Mir ist das recht egal, am besten wäre, wenn dafür ein neues angelegt wird.
Alles klar, dann würde ich dafür ein neues eröffnen.
Hey, wenn ich per Python versuche die RestAPI für den Discord zu callen (Code:)