Я посмотрел через REST API и не смог найти ничего, что бы поддерживало это. Я предполагаю, что это функция twitter.com, которая доступна в API (пока).
Самые логичные места, которые я искал, были статусы / подписчики и дружба / шоу . В обоих случаях не было ничего определенного. Проверяя электронные письма подписчиков для моей учетной записи, я обнаружил несколько подписчиков, которые использовали приложения (такие как PeopleBrowr и SocialOomph) для отслеживания учетной записи. В большинстве случаев источник на их последнем status
объекте совпадал с именем приложения, которое использовалось для подписки на меня, но это определенно было не совсем точно.
Итак, чтобы ответить на ваш вопрос напрямую, нет, я не думаю, что это можно сделать через API (нет, если нет недокументированного метода, который это делает).
Однако я могу придумать, как получить эту информацию. Один из подходов состоит в том, чтобы настроить учетную запись электронной почты, получающую следующие уведомления, для пересылки копии в почтовый ящик, который проверяется автоматическим процессом. Когда появятся электронные письма, проанализируйте их, чтобы найти имя приложения, которое использовалось для подписки.
Я использовал следующее регулярное выражение (в C #), чтобы найти имя приложения и URI в теле письма:
Match m = Regex.Match(input, @"followed you using\s*<a[^""]+""(?<appUri>[^""]+)""[^>]+>(?<appName>\w*)</a>");
Я использовал m.Groups["appName"].Value
, чтобы вытащить имя приложения, и m.Groups["appUri"].Value
, чтобы вытащить URI из совпадения.
Чтобы связать информацию о приложении с пользователем, мне также нужно было найти отображаемое имя с помощью:
Match m = Regex.Match(user, @"\(@<a[^>]+>(?<screenName>\w*)</a>\) is now following");
Я использовал m.Groups["screenName"].Value
, чтобы извлечь значение из совпадения.