もう一度この質問の時間ですが、今回はDelphiXE2を使用します。
XE2に同梱されているIndyバージョン10.5.8.0を使用しており、SSLdllの4つの異なるバージョンを試しました。最新の1.0.xと、約3つの異なる0.9.8バージョン(e、h、x、....)を試しました。
calendar.google.comのhttps:// urlsと通信する場合、これらはいずれも機能しません。「 Sync-components.com 」のDelphiGoogleカレンダーコンポーネントの作成者は、バージョン情報が含まれていない独自のバイナリopenssl DLLランタイムを出荷していますが、0.9より古いSSLライブラリの非常に小さい非常に古いバージョンのようです。 8.8。コンポーネントの作成者は、バージョン管理されていないプライベートDLLのみが機能することがわかっていると述べています。信じられない。確かに、openSSL dllの少なくとも1つのバージョンは、Googleカレンダーに接続するためにDelphiXE2で十分に機能します。
カスタムの古代DLLをDelphiXE2のIndy10にロードするために、彼は最後にIdSSLOpenHeaders.pasメソッドLoadを次のように変更します。
function Load: Boolean;
begin
/// ... lots of stuff
//Result := (FFailedFunctionLoadList.Count = 0); // original.
Result := (FFailedFunctionLoadList.Count <= 18); // changed to.
end;
もちろん、私が評価しているコンポーネントはXE2では機能しませんが、(a)XE2に同梱されているIndy 10のこの特定のスナップショット、または(b)SSLDLLの世界が「あなたのために壊れたが、私のために働く」さまざまなバージョンの真の地獄。
Delphi XE2でIndy(またはSSLをサポートする他のdelphiコンポーネントライブラリ)を使用して、GoogleカレンダーへのSSL接続を取得するにはどうすればよいですか?
または、テストに使用できるIndy以外のもので動作するGoogleカレンダーAPI実装を持っている人がいる場合は、リンクとポインターをいただければ幸いです。