Взаимодействие десктопного приложения с веб-сервисом?
> Например, URL, по которому открывается веб-сайт Dropbox по ссылке из контекстного меню, содержит какие-то параметры авторизации.
API dropbox'a тут: www.dropbox.com/developers/docs#api-specification

>Или взять десктопного клиента Last.fm — не уверен, но навряд ли он на каждый запрос шлёт логин/пароль для аутентификации.
Нет, приложение шлет запрос на ваторизацию и получает в ответ session_key, который потом оно в каждом запросе должно слать
полное описание API тут: www.last.fm/api/authspec
Или можно посмотреть на пимер кода тут: github.com/Voker57/qmpdclient/blob/master/src/lastfmsubmitter.cpp
В методе doHandshake() шлется запрос на авторизацию, потом в методе gotNetReply() получаем и обрабатываем ответ:
m_session=data[1];
m_npUrl=data[2];
m_subUrl=data[3];
m_session потом шлем в POST-запросе на нужный УРЛ (в методах scrobbleQueued() и scrobbleNp(), на соответструющие url — m_subUrl или m_npUrl)
На последнем DevConf'2011 был отличный доклад Badoo Development на эту тему: Badoo Desktop: оптимизация приложения на миллион юзеров онлайн. Там были практические советы, а также обсуждались многочисленные нюансы взаимодействия.