我正在尝试使用 wininet 和 delphi 登录 Google 地图数据 API(获取 MyMaps),但总是收到响应:无效令牌。
我已经通过 wininet HTTPS 调用获得了身份验证令牌。
有什么问题 ?
请帮助。这里有一个示例代码:
ServerURL='maps.google.com';
pathURL='/maps/feeds/maps/default/full';
headers='Authorization: GoogleLogin auth="jbhi6....7it6g976"'; //or like that
function SendHTTP_GET(const ServerURL, pathURL, headers:string): string;
var
IInternet, Connection, aFile: HINTERNET;
begin
Result:= '';
IInternet := InternetOpen(PChar('MyApp'), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
Connection := InternetConnect(IInternet, pAnsiChar(ServerURL), INTERNET_DEFAULT_HTTP_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 0);
try
aFile := HttpOpenRequest(Connection,'GET',pAnsiChar(pathURL), nil, nil, nil, 0, 0);
try
if HttpSendRequest(aFile, pAnsiChar(headers), Length(headers), nil, 0) then
Result := ReadStreamData(aFile)
finally
InternetCloseHandle(aFile);
end;
finally
InternetCloseHandle(Connection);
end;
finally
InternetCloseHandle(IInternet);
end;
end;