Как интегрировать Google+ Share функциональность с ruby на рельсы приложения?
У меня есть простой шаблон erb со следующим HTML-кодом и включенным JavaScript.
<a class='share_on_gplus g-plus' data-social-action='share' data-medium='googleplus' data-content='q_name' href='https://plus.google.com/share?url=encodeURIComponent(URL).replace('%20','+') onclick="javascript:window.open(this.href,'','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=auto,width=600');return false';">Share with Google+ </a>
<script src="https://apis.google.com/js/client.js"></script>
<script type="text/javascript">
function load() {
gapi.client.setApiKey('XXXXXXXXXXXXXXXXXXx');
}
window.___gcfg = {
lang: 'en-US',
parsetags: 'onload'
};
(function() {
var po = document.createElement('script');
po.type = 'text/javascript';
po.async = true;
po.src = 'https://apis.google.com/js/plusone.js?onload=load';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
Мой сервис Google +API уже включен. Когда я нажимаю кнопку "Поделиться" во всплывающем окне "Google Plus", я получаю сообщение об ошибке:
При сохранении вашего сообщения возникла проблема. Пожалуйста, попробуйте еще раз. Я не могу поделиться на Google+. Как мне решить эту ошибку?
2 ответа
На самом деле мне нужно упомянуть реальное доменное имя в параметре URL, и проблема будет решена. Это оно!!!
Если это вырезка и вставка из вашего кода, я думаю, что есть как минимум две проблемы:
1) Ваше значение href открывается одинарной кавычкой, закрывается двойной кавычкой и содержит несколько одинарных кавычек.
2) Код общего доступа Google и бот используют атрибуты, которые прикреплены к элементу общего доступа, чтобы точно определить, что является общим, в том числе атрибут href. Похоже, вы пытаетесь открыть окно самостоятельно и манипулировать этим способом.
Я хотел бы начать с более простой кнопки "Поделиться" (как описано здесь или здесь) и подтвердить, что ее можно использовать для публикации страницы. Если это сработает, тогда вы можете начать адаптацию, но я не думаю, что открытие нового окна будет работать так, как вы хотите.