Как позволить другим API общаться с вашим, который в свою очередь говорит с Twitter?
Лучший титул, который я мог придумать, но, чтобы уточнить, это ситуация:
Я работаю над сервисом, похожим на короткий URL, который позволяет пользователям входить в систему со своей учетной записью Twitter и публиковать материалы. Теперь этот сервис может быть включен в такие приложения, как Tweetdeck и тому подобное.
У меня вопрос.. как бы я сделал такую связь? Каким будет поток, чтобы другое приложение узнало какой-то токен, который можно использовать с моим Twitter-приложением?
2 ответа
Вы изучили реализацию OAuth Echo в Twitter? Цитирование:
В этом взаимодействии участвуют четыре стороны:
- Пользователь, который использует Twitter через определенное, авторизованное приложение Twitter
- Потребитель или приложение Twitter, которое пытается взаимодействовать со сторонним поставщиком мультимедиа (например, сайтом для обмена фотографиями)
- Делегат или сторонний медиа-провайдер; а также
- Поставщик услуг, также известный как Twitter.
В вашем случае ваш сервис - это делегат. Больше информации по документации.
Все разные системы взаимодействуют друг с другом с помощью набора API. Оптимально, это будет стандартная форма связи (REST/SOAP и т. Д.), Однако каждый сервис может использовать свой набор технологий для реализации своего публичного API.
Например, у твиттера есть публичный API, который вы должны научиться взаимодействовать со своей системой из вашей системы. И tweetdeck, возможно, тоже должен взаимодействовать с твиттером и должен использовать четко определенную схему твиттеров.
Ваш вопрос немного расплывчатый, но поток основной. Скажем, например, кто-то хочет общаться с вашей системой. Вам необходимо предоставить документ, описывающий, как это может сделать третья сторона, и вам необходимо помешать этой системе. Как я уже упоминал ранее, есть REST - это популярно сегодня или есть SOAP. Тогда пользователь просто сделает запрос к URL, который вы определите. Пример пользователя хочет создать виджет на вашем сервисе (Пример REST):
Пользователь делает HTTP post to http://myapi.com/widgets/
с атрибутами для виджета в теле сообщения.
пользователь хочет получить все виджеты: HTTP GET to http://myapi.com/widgets
вернул бы список виджетов.
Это основная идея, вам просто нужно разработать аутентификацию. Некоторые просто используют базовую аутентификацию, а некоторые - клятву.