Ich habe es mit TSTringStream und TStringList ausprobiert. Beide ergeben inzwischen die gleiche oauth_error_message.
Was ist denn besser geeignet, um die richtige Zeichenkodierung durchzuziehen?
Code:
...
OAuthString :AnsiString;
...
procedure TForm1.ButtonAuthStreamClick(Sender: TObject);
var
AHTTP : TIdHTTP;
AStream : TStringStream;
AResponse : String;
begin
AHTTP := TIdHTTP.Create;
AHTTP.HandleRedirects := True;
AHTTP.ProtocolVersion := pv1_1;
AHTTP.HTTPOptions := AHTTP.HTTPOptions + [hoKeepOrigProtocol];
AHTTP.Request.ContentType := 'application/x-www-form-urlencoded; charset=utf-8';
AStream := TStringStream.Create(OAuthString);
AResponse := AHTTP.Post(OAuthURL, AStream);
Memo1.Lines.Add(AResponse);
AStream.Free;
AHTTP.Free;
end;
procedure TForm1.ButtonAuthStringListClick(Sender: TObject);
var
AHTTP : TIdHTTP;
ARequest : TStringList;
AResponse : String;
begin
AHTTP := TIdHTTP.Create;
AHTTP.ProtocolVersion := pv1_1;
AHTTP.HTTPOptions := AHTTP.HTTPOptions + [hoKeepOrigProtocol];
AHTTP.Request.ContentType := 'application/x-www-form-urlencoded; charset=utf-8';
ARequest := TStringList.Create;
ARequest.Add(OAuthString);
AResponse := AHTTP.Post(OAuthURL, ARequest);
Memo1.Lines.Add(AResponse);
ARequest.Free;
AHTTP.Free;
end;