Создайте букмарклет «Отправить в Delicious» с пользовательским тегом

Я создал букмарклет javascript, который получает заголовок и URL-адрес текущей страницы, используя следующий код:

//Check to see if jQuery is already loaded
if (typeof jQuery == 'undefined') {
    var jQ = document.createElement('script');
    jQ.type = 'text/javascript';
    jQ.onload=runthis;
    jQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
    document.body.appendChild(jQ);
} else {
    runthis();
}

// main Javascript function
function runthis() {
    title = document.title;
    url = document.URL;
    tag = "customTag";

    alert("Added to paperclip: Page Title: "+title+" | URL: "+url);
}

Теперь я хочу взять эту информацию и добавить ее в качестве закладки в свой аккаунт Delicious. Как мне это сделать с помощью Javascript/jQuery? Я просмотрел документацию по API, но у меня возникли проблемы с ее пониманием (совершенно новая к этому, и от OAuth у меня кружится голова), и я не могу найти никаких полных примеров кода, с которыми можно было бы повозиться.

Буду очень признателен за любую помощь/примеры.


person Chris Armstrong    schedule 19.07.2010    source источник


Ответы (1)


Изменить:

Возможно, вы захотите просмотреть этот предыдущий вопрос. - "Я хочу создать букмарклет Delicious в Firefox, который добавляет в закладки текущую страницу с предопределенным тегом."


Ну, пример, который делает именно то, что вы хотите, используя букмарклет на панели инструментов вашего браузера, — это восхитительный букмарклет. Он собирает информацию со страницы, отображает информацию во всплывающем окне, позволяя вам редактировать ее, а затем сохраняет ее в вашей учетной записи:

http://delicious.com/help/bookmarklets

javascript:(function(){
    f= 'http://delicious.com/save?url=' 
    + encodeURIComponent(window.location.href)
    + '&title='+encodeURIComponent(document.title)
    + '&v=5&';
    a=function(){
        if( !window.open(
            f + 'noui=1&jump=doclose',
            'deliciousuiv5',
            'location=yes,
            links=no,scrollbars=no,
            toolbar=no,width=550,height=550'))location.href=f + 'jump=yes'
    };
    if(/Firefox/.test(navigator.userAgent)){
        setTimeout(a,0)
    } else {
      a()
    }
})()

Если вы используете свой идентификатор Yahoo для входа в систему, вам нужно использовать OAuth, но если вы этого не сделаете, вы можете использовать API V1 следующим образом (от эта страница у меня работала в Chrome):

javascript:(

    function()
    {
        location.href = 'https://user:[email protected]/v1/posts/add?url=' 
            + encodeURIComponent(window.location.href)
            + '&description=' + encodeURIComponent(document.title)   
            + '&tags=obvioustesttag';
    }

)()

Обязательно ищите в тегах «obvioustesttag», так как он не сразу появляется в хронологическом списке.

Попробуйте создать обычный логин или новую учетную запись, если вы в настоящее время используете YahooID для входа, иначе вам придется иметь дело с OAuth.

person Peter Ajtai    schedule 19.07.2010
comment
Да, я в основном хочу сделать то же самое без всплывающего окна и добавления автоматического тега, как мне изменить вышеизложенное, чтобы сделать это? - person Chris Armstrong; 20.07.2010
comment
Вам нужно будет использовать delicious.com/help/api#posts_add . Это API версии 1, поэтому я не считаю, что OAuth необходим. Я пытаюсь получить рабочий пример. - person Peter Ajtai; 20.07.2010
comment
Да, вот тут я и упираюсь в стену... У меня есть ключ и секрет API OAuth, но я понятия не имею, как его использовать, не могу найти практических примеров. - person Chris Armstrong; 20.07.2010
comment
Спасибо, но я думаю, что мне нужно использовать версию OAuth (v2), потому что моя учетная запись основана на Yahoo. - person Chris Armstrong; 20.07.2010
comment
Ага. Похоже на то, если вы не создадите обычный логин или другую учетную запись. - person Peter Ajtai; 20.07.2010
comment
Спасибо, похоже, теперь они не позволяют вам создавать учетные записи, отличные от Yahoo, так что, думаю, мне придется подумать об OAuth. В любом случае отметил вас как ответ, спасибо за вашу помощь. Знаете ли вы какие-либо хорошие ресурсы для начала работы со всем процессом OAuth? - person Chris Armstrong; 20.07.2010