Hallo Leute,
ich bin gerade dabei für ein kostenloses Projekt eine vorhandene API anzusprechen.
Leider gibt es das Beispiel nur als PHP Code. Und von einer Skala von 0-100 kann ich PHP genau 0.
Ich möchte es aber in VB.NET programmieren und die API ansprechen.
Hier der PHP Code:
Hier mein Versuch das ganze in VB.NET nachzubilden:
Ich bekomme einen 400 Bad Request Fehler zurück.
Der Fehler kann/wird am ContentType und auch an der Übergabe der Parameter liegen.
Ich habe aber keinen blassen Schimmer wie ich die PHP-Strings/Parameter interpretieren und/oder per Webrequest übergeben soll.
Habt Ihr Tipps oder eine Lösung für mich?
Wie gesagt. Ich habe keine Ahnung von PHP. Webservice habe ich aber schon mal angesprochen.
ich bin gerade dabei für ein kostenloses Projekt eine vorhandene API anzusprechen.
Leider gibt es das Beispiel nur als PHP Code. Und von einer Skala von 0-100 kann ich PHP genau 0.
Ich möchte es aber in VB.NET programmieren und die API ansprechen.
Hier der PHP Code:
PHP-Quellcode
- /** The endpoint where Authentication is handled */
- const AUTH_API = 'https://my.remarkable.com';
- /** @var Client The HTTP client */
- protected $client;
- /** @var LoggerInterface */
- protected $logger;
- /**
- * Exchange a website generated code against an auth token
- *
- * @link https://my.remarkable.com/generator-desktop
- *
- * @param string $code the auth code as displayed by the my.remarkable.com
- * @return string the bearer authentication token
- * @throws \Exception
- */
- public function register($code)
- {
- $device = Uuid::uuid4()->toString();
- $data = [
- 'code' => $code,
- 'deviceDesc' => 'desktop-windows', # we have to lie here
- 'deviceID' => $device
- ];
- $this->logger->info('Registering device');
- $response = $this->client->requestJSON(
- 'POST',
- self::AUTH_API . '/token/json/2/device/new',
- $data
- );
- $token = (string)$response->getBody();
- $this->client->setBearerToken($token);
- return $token;
- }
Hier mein Versuch das ganze in VB.NET nachzubilden:
VB.NET-Quellcode
- Public AUTH_API As String = "https://my.remarkable.com"
- Public Auth_API_Token As String = "https://my.remarkable.com/token/json/2/device/new"
- Public Client As String
- Public Logger As String
- Public Function RegisterReMarkableCode(code As String) As String
- Dim deviceID As String = System.Guid.NewGuid.ToString
- Dim Postdata As String = "{'" + code + "', 'desktop-windows', '" + deviceID + "'}"
- 'MsgBox(Postdata)
- Dim Datenbytes() As Byte = StrToByteArray(Postdata)
- Dim Request As WebRequest = System.Net.WebRequest.Create(Auth_API_Token)
- Request.Timeout = 20000
- Request.ContentType = "application/json"
- Request.ContentLength = Datenbytes.Length
- Request.Method = "POST"
- Dim RequestStream As System.IO.Stream = Request.GetRequestStream
- RequestStream.Write(Datenbytes, 0, Datenbytes.Length)
- RequestStream.Close()
- Dim Response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse)
- Dim ResponseStream As System.IO.Stream = Response.GetResponseStream
- Dim ResponseString As String = New System.IO.StreamReader(ResponseStream).ReadToEnd
- Return ResponseString
- End Function
Ich bekomme einen 400 Bad Request Fehler zurück.
Der Fehler kann/wird am ContentType und auch an der Übergabe der Parameter liegen.
Ich habe aber keinen blassen Schimmer wie ich die PHP-Strings/Parameter interpretieren und/oder per Webrequest übergeben soll.
Habt Ihr Tipps oder eine Lösung für mich?
Wie gesagt. Ich habe keine Ahnung von PHP. Webservice habe ich aber schon mal angesprochen.
Liebe Grüße
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „dive26“ ()