Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Twitter приложение. Отправка твитов и личных сообщений

Anna | 17.06.2014 | нет комментариев
Если вам свободою судеб вывалилось писать twitter приложение, но вы еще не знаете с чего начать, то верю, данный пост поможет вам выстроить логическую цепочку действий, которые, в результате, приведут к приложению, умеющему отправлять твиты на ленту и собственные сообщения пользователям.

А сейчас по пунктам:

1. Для начала необходим аккаунт на Twitter. Еще нет? Тогда, стоит зарегистрироваться.
Запоминаем либо восстанавливаем в памяти ваш логин и пароль и переходим к дальнейшему пункту.

2. Сейчас перейдем на сайт Twitter Developers, где, для авторизации, воспользуемся
триттер логином и паролем. Как только авторизация прошла удачно, необходимо в меню аккаунта предпочесть
пункт «My applications» и на открывшейся странице нажать на кнопку image

image

Позже того, как вы заполните все поля и сотворите приложение, ему(приложению) назначатся 2 ключа:
Consumer key и
Consumer secret
Они доступны в разделе OAuth settings вкладки Details вашего приложения

image

3. Дальнейшим шагом создания twitter приложения будет написание авторизации OAuth. Детально это описано в статье Твиттер собственными руками на C#. Часть 1: авторизация OAuth. Вам необходимо будет собрать приложение
из данной статьи. Если все пройдет успешно, то в результате вы пройдете авторизацию OAuth и вам назначатся еще 2 значимых значения:
Access token и
Access token secret
Они также доступны в разделе Your access token вкладки Details вашего приложения. Также, обратите внимание на поле Access level в этом же разделе. Для того, Дабы приложение могло постить твиты и отправлять собственные сообщения, оно должно быть установлено в Read, write, and direct messages. Если это не так, то необходимо настроить Access на вкладке Settings и опять пройти авторизацию OAuth.

image

Если вы откроете ваш аккаунт твиттер, перейдете в настройки и откроете меню «Приложения», то там должно быть указано ваше приложение, зарегистрированное на Twitter Developers:

image

4. Сейчас припоминаем ключи, которые мы получили на первых этапах:
Consumer key
Consumer secret
Access token
Access token secret

Создаем класс MessageSender, тот, что и будет заниматься отправлением сообщений:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.Net;
using System.IO;

namespace TwitterOAuth
{
    class MessageSender
    {
        private readonly string consumerKey;
        private readonly string consumerSecret;
        private readonly string oauthToken;
        private readonly string oauthTokenSecret;

        private const string headerFormat = "OAuth oauth_nonce=\"{0}\", oauth_signature_method=\"{1}\", "  
              "oauth_timestamp=\"{2}\", oauth_consumer_key=\"{3}\", "  
              "oauth_token=\"{4}\", oauth_signature=\"{5}\", "  
              "oauth_version=\"{6}\"";

        /// <summary>
        /// В конструктор передаем сохраненные ключи
        /// </summary>
        public MessageSender(string consumer_key, string consumer_secret, string oauth_token, string oauth_token_secret)
        {
            this.consumerKey = consumer_key;
            this.consumerSecret = consumer_secret;
            this.oauthToken = oauth_token;
            this.oauthTokenSecret = oauth_token_secret;
        }

        /// <summary>
        /// Отпраvmk!img src="http://habr.habrastorage.org/post_images/5a5/f9d/034/5a5f9d0347f1ddc17b6e38be482a5155.jpg" alt="image"/>

Если вы захотите и дальше расширять вероятности вашего приложения, то вот вам Документация REST API v1.1 Resources. В случае с Отправкой личных сообщений, в коде устанавливаются два параметра: screen_name и text, а resource_url берется из документации: раздел Example Request, поле POST

 private string GetPostDirectMessageBaseString(string text, string screen_name, string oauth_token, string oauth_token_secret, out string post_data, out string resource_url)
        {
            post_data = "screen_name="   Uri.EscapeDataString(screen_name)   "&text="   Uri.EscapeDataString(text);
            resource_url = "https://api.twitter.com/1.1/direct_messages/new.json";

            return GetBaseString(oauth_token, oauth_token_secret, post_data, resource_url);
        }


 Обратите внимание на то, что между параметрами ставится &, а также значим порядок следования этих параметров для построения Signature Base String в способе GetBaseString. Дабы проверить в грядущем правильность следования параметров, дозволено воспользоваться OAuth tool. Для этого откройте, скажем Отправку личных сообщений, обнаружьте справа OAuth tool, в выпадающем списке выберите ваше приложение и нажмите Generate Oauth signature

image

 Внизу открывшейся страницы будут написаны пример запроса, URI, если вы нажмете кнопку image то сгенерируются Signature base string, Authorization header и т.д.

 Везения!

 

Источник: programmingmaster.ru

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB