Tumblr - получение 8-значного кода реблога на домашней странице (почти там ...) - PullRequest
1 голос
/ 08 октября 2011

Я видел два сайта в дикой природе, которым удалось получить кнопки «Нравится» и «Реблог» на своих домашних страницах с помощью хаков.

Это, кажется, лучший вариант для справки: http://cicerontheme.tumblr.com/

Каким-то образом им удается получить URL реблога, как, я понятия не имею. Я рылся в их коде, и все, что я нашел, это кнопка «Мне нравится»:

$('a.likeLink').click(function() {
    var post = $(this).closest('.post');
    var id = post.attr('id');
    var oath = post.attr('rel').slice(-8);
    var like = 'http://www.tumblr.com/like/'+oath+'?id='+id;
    $('#likeit').attr('src', like);
});

Это немного обсуждается в этом обсуждении переполнения стека , но, опять же, не доходит до сути вопроса, как, черт возьми, получить URL-адрес реблога.

Я просмотрел ресурсы сценариев и не нашел никаких личных сценариев, только сценарии из tumblr, мои расширения chrome и т. Д. Откуда они его получают?!

В коде "like", вставленном выше, они достаточно легко получают идентификатор сообщения, вам просто нужно использовать Tumblrs {Permalink}, но URL-адрес реблога берется из атрибута rel.

Надеясь, кто-то может помочь!

Спасибо.

Ответы [ 4 ]

4 голосов
/ 08 октября 2011

Просмотреть исходный код по адресу: http://cicerontheme.tumblr.com/

1. $('a.likeLink').click(function() {
2.     var post = $(this).closest('.post');
3.     var id = post.attr('id');
4.    var oath = post.attr('rel').slice(-8);
5.    var like = 'http://www.tumblr.com/like/'+oath+'?id='+id;
6.    $('#likeit').attr('src', like);
7. });

Пояснение к коду:

  1. Добавить обработчик событий для привязки с классом likeLink
  2. Использует метод JQuery .closest, чтобы найти ближайший элемент с классом post (который фактически является якорем, см. Источник)
  3. Получите десятизначный идентификатор Tumblr из атрибута привязки ID (используя .attr('id')
  4. Получите атрибут rel привязки и используйте .slice(-8), чтобы получить последние 8 символов
  5. Создать ссылку
  6. Установите атрибут src для <iframe> с идентификатором likeit (см. Источник). Это вызывает запрос к http://www.tumblr.com/like/..... Hack
3 голосов
/ 08 октября 2011

Уверен, что это не JS - когда вы просматриваете источник сайта, на который вы ссылались, ссылки на реблог уже есть (то есть они не вставляются динамически).

Я думаю,тема Ciceron фактически генерирует ссылки на реблоги - вы пробовали добавить:

<a href="{ReblogURL}">Reblog</a> 

... в вашу тему?

1 голос
/ 15 февраля 2016

Использование «ключа реблога» разрешено Tumblr и поощряется в некоторых ситуациях разработчика, таких как те, о которых вы упомянули.

Tumblr имеет API и Внутренние параметры разработки темы для использования ключа reblog .Это хитрый трюк, но, чтобы быть ясным, это не хак , поскольку Tumblr намерен, поощряет и надеется, что этот инструмент используется и полезен для всех.

См. Конкретную статью по APIна использование сообщения «ключ журнала» : https://www.tumblr.com/docs/en/api/v2#reblogging

Когда вы используете программный интерфейс Tumblr для программной публикации в блоге Tumblr, вы получаете ответ с «ключом журнала».Вы можете создать скрипт, который мог бы отображать URL-адрес реблога вашего собственного поста Tumblr вместо кнопки «Поделиться», которая создала бы новый пост .Это может помочь вам локализовать Tumblr на свой собственный источник и лучше использовать возможности «Каноническая ссылка» для SEO.

В темах, внутренних для Tumblr, вы можете использовать {ReblogURL} для отображения URL-адреса reblog или создайте кнопку «Мне нравится».

Существует множество способов, которыми вы можете использовать это правильно, но есть также множество способов, которые не разрешены , даже если это и простая или очевидная вещь, которую вы "могли бы"сделать.Прежде всего, будьте добры к другим пользователям и не делайте то, что другим пользователям не понравится (скрытые щелчки и т. Д.).

Вы можете ознакомиться с Условиями обслуживания Tumblr здесь: https://www.tumblr.com/policy/en/terms-of-service

Я упомянул API, у которого есть свой небольшой раздел правил, он связан с Условиями обслуживания.Вы можете прочитать Tumblr Application Developer и лицензионное соглашение API : https://www.tumblr.com/docs/api_agreement

1 голос
/ 16 мая 2012

На вашей панели инструментов в Tumblr каждое сообщение имеет значок «reblog». Конечно, если вы нажмете эту ссылку, URL-адрес этого журнала появится в панели адресов? Конечно, это означает добавление URL-адреса вручную для каждого сообщения, но это единственная альтернатива, которую я нашел для стандартных элементов управления Tumblr.

«Follow» и «Dashboard» являются стандартными командами a href, но я все еще ищу способ получить простую текстовую ссылку для функции «like», чтобы я мог полностью отказаться от стандартных элементов управления .

...