Как стать автором
Обновить

Комментарии 28

Повторюсь — я просто не знаю, как в js можно скрыть логин/пароль.
А никак нельзя. Даже если Вы все жестко обфусцируете, это не защитит от банального сниффинга трафика.
А как насчёт использования md5(password + salt) на стороне JavaScript? Насколько мне известно для JavaScript md5 давно реализован.
Это же всё на клиенте выполняется. Открою фаербаг и посмотрю какой пароль передается гуглу.
Ну свой пароль то вы посмотрите, а чужой как? По RDP подключитесь к удалённой машине и на ней тоже в FireBug быстренько-незаметненько подсмотрите? :)
В статье речь про логин/пароль автора к FT. Он был бы он для всех.
Ой, я извиняюсь. Не совсем понял суть задачи. В таком случае вы правы, упрятать пароль доступа к таблице вряд ли получится.
Для того, чтобы не сперли пароль, можно использовать серверный прокси-скрипт для запросов, но некрасивое это решение, т.к. лишний трафик через сервер будет прогоняться.
OR и NOT не делают, потому что запросы с ними нельзя быстро по индексам искать — только фуллсканом таблицы. Не знаю, зачем вам они понадобились, но часто можно создать вспомогательную колонку в таблице и туда сохранять значение этого предвычисленного выражения. search_col = (price >= 100) or (queries < 10). Потом искать по search_col=1 уже проще простого средствами базы.

Зачем вы кеширование средствами базы отключаете — тоже непонятно. Вы же создаёте лишнюю нагрузку на серверы гугла, хотя можно было без этого обойтись.

И ещё. В документации GFT написано: «Applications using the Google Fusion Tables API can send a maximum of 5 requests per second to the Google Fusion Tables server». На какую посещаемость вы рассчитываете?
«Зачем вы кеширование средствами базы отключаете» — мне нужно real-time отображение вновь добаленных элементов. Без отключения кеширования они появятся втечение 1 часа.
"...can send a maximum of 5 requests per second..." — В документации не указано — 5 запросов в секунду с одного IP или всего? При геокодировании используется ограничение именно по IP
> Без отключения кеширования они появятся втечение 1 часа.
О как. Это документировано? Я что-то ничего такого не видел.
Это документировано? Я что-то ничего такого не видел.
Я тоже. Это вылезло во время тестирвки. Я даже не стал разбираться где именно кешируются ответы. Возможно даже это браузерный кеш.
У меня запрос из JS отправляется через GET
var reqUri = 'http://www.google.com/fusiontables/gvizdata?tq='  + encodeURIComponent(queryText);

OR и NOT не делают, потому что запросы с ними нельзя быстро по индексам искать — только фуллсканом таблицы. Не знаю, зачем вам они понадобились...

Я планировал сделать кнопку «Объявления друзей» для посетителя. В данном случае в условии запроса появится что-то вроде «user_id = 25 OR user_id = 26 OR user_id = 27», где 25,26,27 — id друзей посетителя. В принципе что-то вроде user_id IN (25, 26, 27) тоже подошло бы, но в FT API я не нашел ничего похожего.
Есть еще PHP Fusion Tables Client Library для доступа к FT через PHP.

Содержит классы для подключения к FT. Помогает создавать и править таблицы (Insert, Update, Delete). И есть класс для загрузки данных в FT из CSV файла. Для простых задач вполне достаточно.
Спасибо, я эту библиотеку так и не нашел — видимо слишком сильно надеялся на Zend.
...91 000 таблиц меньше чем за месяц было добавлено на FT.

Это не факт. У меня при создании таблиц номера шли то больше, то меньше (сначала 60хххх, потом 59хххх)
Действительно интересно что там с ограничением количества запросов в секунду? Кто то проверял?
Если (когда) проапрувят приложение — дам отчет.
Хм. Странно. Специально поставил Opera
Version 11.01
Build 1190
И sample, и jsFiddle и приложение отработали нормально.
Хм…
> создать высоконагруженное веб-приложение при крайне ограниченных ресурсах сервера.
и Zend в моем понимании плохо сочетаются.
Кстати, недавно сам начал использовать FusionTables и нашел 2 бага:

1. Выборка по Marged-таблицам с кол-вом записей более 0.5 млн. происходит оооочень медленно. Уже отписал Google, они даже ответили и занесли в баг-треккер. А вот выборка по обычным таблицам происходит довольно шустро.

2. При использовании JS Visualization Api из IE вместо русских букв возвращаются знаки вопроса ?????????? ????.. Оказывается в заголовке запроса должен быть Accept-Charset: utf-8. В IE его почему-то нету… У вас русского текста в выдаче нет? Если есть русский текст — проверьте открыть в IE. Я сначала был доволен — потом облом. Не работает в IE. Эту проблему до сих пор не решил. Вы не сталкивались с этой проблемой?
Да, действительно, проверил в explorer-е (8-й), эта проблема присутствует.
Придется переписывать строки
        var query = new google.visualization.Query(reqUri);
        query.send(displayData);

своими
Я разобрался почему это. Гугл выдает JSON при отправке запроса на адрес www.google.com/fusiontables/gvizdata?tq= Так вот, если в заголовке запроса не указан Accept-Charset — то возвращается белиберда. А IE почему-то не указывает Accept-Charset. Может и есть способ заставить его указать этот Accept-Charset?

А вы как хотите делать? Свой JSON-прокси на сервере поднимать?
Не, не так жестоко.
Просто не использовать vizualization, а сделать GET-запрос (например с помощью jQuey.ajax) и руками установить заголовки (в случае с jQuery например так)
Насколько я понимаю, кросс-доменные запросы поддерживают далеко не все браузеры. А вот включение JSON — поддерживают все.

Т.е. с помощью jQuery получиться обратиться только к своему домену, а вот к домену Google только через JSON-прокси (либо их либо свой).
Можно сделать вот так вот:
		$.ajax({
			url:'http://tables.googlelabs.com/api/query?sql='+sql+'&jsonCallback=?',
			type: 'GET',
			success:function(resp){
				console.log(resp);
			},
			dataType:'json'
		});

У меня работает на отлично!
Подтверждаю, работает без проблем с IE адрес tables.googlelabs.com/api/query?sql=. Я уже было свой прокси начал юзать.

Вообще довольно неплохо и полнотекстовый поиск работает. Главное теперь чтобы сервис не прикрыли.
Интересно — буквально сутки назад делал аналогичную вешь, только не через Google Fusion Tables, а через Google Spreadsheets. А теперь вот совершенно случайно на вашу статью наткнулся :)
В принципе там всё аналогично, только проще (ну и ограничений больше, соответственно)
cr-it.livejournal.com/24039.html
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории