HINWEIS: Ich habe noch nie zuvor vb.net-Code geschrieben. Ich habe nach einer Lösung gegoogelt, aber nichts gefunden, was funktioniert hat.VB.NET - Salesforce-POST-Anfrage gibt 400 fehlerhaften Anforderungsfehler zurück
Ich versuche, Zugriffstoken von Salesforce zu erhalten. Unten Code arbeitete nur gestern. Und ich habe keine Ahnung, warum es heute nicht funktioniert. Ich habe versucht, Content-Typ wie Anwendung/x-www-Form-urlencoded hinzuzufügen, aber es hat auch nicht funktioniert. Wenn ich curl benutze, bekomme ich Zugangstoken. Ich bin auch in der Lage, Zugriffstoken mit erweiterten Rest-Client in Google Chrome zu erhalten. Irgendwelche Ideen, warum es zurückgeht 400 Falsche Anfrageunbekannter Fehler versuchen Sie erneut Ihre Anfrage?
Imports System.Collections.Specialized
Imports System.Net
Imports System.Text
Module Module1
Sub Main()
Dim clientId As String = "clientId"
Dim clientSecret As String = "clientSecret"
Dim redirectUri As String = "https://test.salesforce.com"
Dim environment As String = "https://test.salesforce.com"
Dim tokenUrl As String = ""
Dim username As String = "[email protected]"
Dim password As String = "passwordtoken"
Dim accessToken As String = ""
Dim instanceUrl As String = ""
Console.WriteLine("Getting a token")
tokenUrl = environment + "/services/oauth2/token"
Dim request As WebRequest = WebRequest.Create(tokenUrl)
Dim values As NameValueCollection = New NameValueCollection()
values.Add("grant_type", "password")
values.Add("client_id", clientId)
values.Add("client_secret", clientSecret)
values.Add("redirect_uri", redirectUri)
values.Add("username", username)
values.Add("password", password)
request.Method = "POST"
Try
Dim client = New WebClient()
Dim responseBytes As Byte() = client.UploadValues(tokenUrl, "POST", values)
Dim response As String = Encoding.UTF8.GetString(responseBytes)
Console.WriteLine(response)
Console.ReadKey()
Catch ex As Exception
Console.WriteLine(ex.Message)
Console.WriteLine("Press any key to close")
Console.ReadKey()
End Try
End Sub
End Module
Was im Antworttext ist, wenn Sie die 400 Antwort erhalten? – superfell
Ich habe versucht Ausgabe ResponseBytes, aber es zeigt Null. Auch der Debugging-Modus zeigt es als Null an. – tugce
Ich habe das seit Jahren nicht mehr verwendet, aber von dem, woran ich mich erinnere, gibt es eine spezielle Ausnahme, die Sie fangen, und es gibt Ihnen Zugriff auf den Antworttext für diesen Fehlerzustand. – superfell