Как подключиться к Google Cloud IoT с помощью Delphi - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь подключиться к Google Cloud IoT, используя Rad Studio Xe10.1, используя следующий код Delphi.Когда я пытаюсь выполнить, у меня появляется ошибка в исключении:

HTTP / 1.1 403 Запрещено

В чем может быть проблема?Я пытался следовать инструкциям Google для подключения.

Я пробовал curl (из Git для Windows), и он работает для того же JWT (веб-токена JSON) и для того же URL.

curl -H "authorization: Bearer $JWT" -H "cache-control: no-cache" $sURL

где $JWT - это мой сгенерированный JWT, а $sURL - это URL-адрес моего проекта IoT.

 Try
   httpResponse := '';
   HTTP := TidHTTP.Create(Application);
   with HTTP do
   begin
    IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(Nil);
    Request.CustomHeaders.FoldLines := False;
    Request.CustomHeaders.AddValue('authorization', 'Bearer '+jwt);
    //Request.CustomHeaders.AddValue('content-type', 'application/json');
    Request.CustomHeaders.AddValue('cache-control', 'no-cache');
    httpResponse := Get(sURL);
   end;
  except
    on E: Exception do
      ShowMessage(E.Message);
  end;
 Finally
   Memo.Lines.Add(httpResponse);
 End;
...