![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Здрасте, всем!
Пишу программу, которая авторизуется и создает fusion tables, на сервисе google, с помощью sql запроса. Работа осуществляется через Synapse. Проблема возникает при отправке самого запроса на создание этой пресловутой таблицы, в ответе от сервера сказано, что отправленный sql запрос пустой: Код HTML:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
Data: TStringList;
Response:TMemoryStream;
sql, URL, Params, Log, Psw:string;
http:THTTPSend;
begin
http:=THTTPSend.Create;
try
Response := TMemoryStream.Create;
sql:=EncodeURLElement('sql=CREATE TABLE Animal (animal: STRING, fav_food: STRING, population: NUMBER, location: LOCATION, timestamp: DATETIME)');
URL := 'https://www.google.com/accounts/ClientLogin';
http.Protocol:='1.1';
http.AddPortNumberToHost:=False;
http.MimeType:='application/x-www-form-urlencoded';
Params := 'accountType=HOSTED_OR_GOOGLE&Email=' + EncodeURLElement(Edit1.Text) +
'&Passwd=' + EncodeURLElement(Edit2.Text)+'&service=writely&source=Google Chrome';
// Авторизация
if HttpPostURL(URL, Params, Response) then
begin
try
Data:=TStringList.Create;
Response.Seek(0, soFromBeginning);
Data.LoadFromStream(Response);
Params:=Data.Text;
http.Headers.Add(Trim(Copy(Params, Pos('Auth=', Params) + 5, Length(Params))));
// Отправка sql запроса
http.Headers.Add('GData-Version: 3.0');
url:='https://fusiontables.googleusercontent.com/fusiontables/api/query?encid=true';
WriteStrToStream(HTTP.Document, sql); //задаю sql запрос
if http.HTTPMethod('POST',url) then
Memo1.Lines.LoadFromStream(http.Document);
finally
Data.Free;
Response.Free;
end;
end;
finally
http.Free;
end;
end;Видимо я, что-то не так делаю и не знаю как правильно это сделать. Пользуюсь synapse'сом только неделю. Подскажите где ошибка? ![]() Последний раз редактировалось TolAlik, 07.03.2012 в 02:28. Причина: Найдено решение |