Wie frage ich eine uuid von Minecraft ab?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 66 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Da ist ja null von dem umgesetzt was du umsetzten solltest.
    Steht ja alles noch oben als globale variablen.

    dein id,name,json und AccountInfo weglöschen und nur das was ich dir sagte in den Button Click.

    Kann mir einer sagen warum sein Debugging so kacke aussieht? Kenne das so überhaupt nicht in VS.

    Folgendes funktioniert ohne irgendwelche Fehler ohne Probleme. Natürlich muss man im Button Click noch
    den Fall der leeren textbox behandeln aber das überlasse ich dir.

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.Net
    3. Public Class Form1
    4. Function GetBack(username As String) As String
    5. Dim wc As WebClient = New WebClient()
    6. Dim tmp As String
    7. tmp = wc.DownloadString("https://api.mojang.com/users/profiles/minecraft/" + username)
    8. Return tmp
    9. End Function
    10. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    11. Dim json As String = GetBack(ftb_minecraft_name.Text)
    12. MessageBox.Show(json)
    13. End Sub
    14. End Class
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Ja, das hab ich auch so drin,
    der String wird in der MSGBox ausgegeben

    *Alles klappt jetzt ^^
    Code;
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports Newtonsoft.Json
    3. Imports System.Net.Http
    4. Imports System.IO
    5. Imports System.Net
    6. Imports System.Net.WebClient
    7. Public Class Form1
    8. Public id As String
    9. Public name As String
    10. Dim json As String '= GetBack(ftb_minecraft_name.Text)
    11. 'Public AccountInfo As Form1 = JsonConvert.DeserializeObject(Of Form1)(json)
    12. Function GetBack(username As String) As String
    13. Dim wc As WebClient = New WebClient()
    14. Dim tmp As String
    15. tmp = wc.DownloadString("https://api.mojang.com/users/profiles/minecraft/" + username)
    16. Return tmp
    17. End Function
    18. Private Sub ftb_minecraft_acc_check_Click(sender As Object, e As EventArgs) Handles ftb_minecraft_acc_check.Click
    19. If ftb_minecraft_name.Text = "" Then
    20. Else
    21. json = GetBack(ftb_minecraft_name.Text)
    22. Dim AccountInfo As Form1 = JsonConvert.DeserializeObject(Of Form1)(json)
    23. ftb_minecraft_uuid.Text = AccountInfo.id
    24. End If
    25. End Sub
    26. End Class


    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „DerTuner“ ()

    Nun gut... wenigstens hast du die eine Zeile Code an die richtige Stelle kopiert.
    Trotz dessen ist das noch nicht ganz richtig.
    Du de-serialisierst quasi grad eine Form1 und das ist nicht richtig. das mag evtl. funktionieren aber nicht sinn der Sache jetzt.

    Du solltest ja eine "MinecraftInfo" Class machen und darin id und name als variablen haben.
    Das wäre meine Lösung deines Problemes normaler weise mache ich neue klassen immer in neue dateien:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.Net
    3. Imports Newtonsoft.Json
    4. Public Class Form1
    5. Function GetBack(username As String) As String
    6. Dim wc As WebClient = New WebClient()
    7. Dim tmp As String
    8. tmp = wc.DownloadString("https://api.mojang.com/users/profiles/minecraft/" + username)
    9. Return tmp
    10. End Function
    11. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    12. If Not ftb_minecraft_name.Text = "" Then
    13. Dim json As String = GetBack(ftb_minecraft_name.Text)
    14. Dim AccountInfo As MinecraftInfo = JsonConvert.DeserializeObject(Of MinecraftInfo)(json)
    15. ftb_minecraft_uuid.Text = AccountInfo.id
    16. End If
    17. End Sub
    18. End Class
    19. Public Class MinecraftInfo
    20. Public id As String
    21. Public name As String
    22. End Class


    Ich empfehle wärmstens das du dir ganz dringend bevor du solch Projekte startest du dein Buch noch einmal nimmst
    und das von vorne bis hinten mit Beispielaufgaben löst und verstehst. Und bitte passe deine Einschätzung des können in VB.Net an.
    Denn Fortgeschritten ist das alle mal nicht. Ist auch nicht böse gemeint. Nur wenn du Hilfe brauchst und du dann da Fortgeschritten stehen
    hast und man dann davon ausgeht das du so Grund dinge beherrscht ist keinem geholfen.

    PS:Ich weiß irgendjemand wird mich dafür steinigen das ich nun die Lösung gepostet habe.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen