Создание API визуализации Google для возврата визуализированной визуализации из https://charts.googleapis.com/* вместо http://charts.apis.google.com/* - PullRequest
0 голосов
/ 21 января 2011

Проблема, которую я пытаюсь решить, - это обслуживание графиков, подготовленных API визуализации Google на защищенных веб-сайтах. Я прочитал пару форумов и постов в блоге, но не нашел подходящего решения.

Одно из упомянутых здесь решений - получить изображение с помощью кода на стороне сервера, сохранить его локально и затем обработать. Но проблема для меня заключается в том, как генерировать URL-адреса изображений на лету? В настоящее время я использую API визуализации, чтобы просто передать свои данные в конструктор google.visualization.ImageSparkLine, и он сделает все остальное.

В любом случае, после просмотра ответа, полученного этим методом, я получаю, что изображение возвращается с шаблоном URL http://chart.apis.google.com/chart,, который является основной причиной проблемы на сайтах, обслуживаемых через SSL. Это приводит к появлению предупреждений в FF, IE, Chrome.

Теперь я подумал, что если я просто заменил "http://chart.apis.google.com" С" https://chart.googleapis.com", то все будет отлично.

Так что любая помощь для: 1. преобразования URL-адреса изображения до его загрузки браузером или 2. получения безопасного ответа для начала; будет здорово.

1 Ответ

1 голос
/ 22 января 2011

Я наконец-то решил эту проблему, создав URL-адреса Chart Images.

Теперь перед вызовом API визуализации Google для генерации визуализации код JavaScript проверяет, имеет ли location.protocol «https» или нет,Если он имеет https, чем он имеет,

  1. Он кодирует строку необработанных значений с использованием стандарта "расширенного кодирования".(см. http://code.google.com/apis/chart/docs/data_formats.html)
  2. Затем он объединяет различные параметры для создания URL https://chart.googleapis.com/* (см. http://code.google.com/apis/chart/docs/making_charts.html#multichart & http://code.google.com/apis/chart/docs/chart_params.html#gcharts_cht)
  3. Динамически генерирует изображение с использованием этогоURL & затем присоединяется к родительскому контейнеру.

Протестировано на FF3.6, Chrome, IE8 (с режимом совместимости и без совместимости) без создания предупреждений безопасности или всплывающих окон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...