iT邦幫忙

DAY 35
3

Windows Mobile系列 第 35

[Windows Mobile]使用 Twitterizer API 來玩 Twitter 的範例

  • 分享至 

  • xImage
  •  

接續前一篇文章,將 Twitterizer API 加入專案後,接著就可以撰寫程式碼來玩 Twitter
更多文章,請到我在點部落所建立的部落格「.NET菜鳥自救會」閱讀
http://www.dotblogs.com.tw/chou/

  1. 簡介
    接續前一篇文章,將 Twitterizer API 加入專案後,接著就可以撰寫程式碼來玩 Twitter

  2. 程式碼
    以下功能為輸入 Twitter 帳號與密碼後,可選擇要做的功能 : 更新狀態、刪除狀態、顯示目前狀態,按下 Button 即可。

    using System;
    using System.Linq;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    using Twitterizer.Framework;

    namespace SmartDeviceTwitter
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

        private void btnProcess_Click(object sender, EventArgs e)
        {
            try
            {
                // start===Instantiate the Twitter object===
                Twitter twit = null;
                twit = new Twitter(this.txtUserName.Text, this.txtPassWord.Text);
                // end======================================
    
                if (this.rbUpdate.Checked == true)  // if user select update the status 
                {
                    if (this.txtMessage.Text.Length == 0)
                    {
                        MessageBox.Show("Please input status");
                    }
                    // start====Updating Your Status===
                    TwitterStatus ts = twit.Status.Update(this.txtMessage.Text);
                    // end==============================
                }
                else if (this.rbDestroy.Checked == true)
                {
                    if (this.lstData.SelectedIndex < 0)  // when user don't select the status
                    {
                        MessageBox.Show("Please select status");
                        return;
                    }
                    // start====Search and Destroy===
                    TwitterStatusCollection twStatus = twit.Status.UserTimeline();
                    foreach (TwitterStatus status in twStatus)
                    {
                        if (status.Text == this.lstData.SelectedItem.ToString())
                        {
                            twit.Status.Destroy(status.ID);
                        }
                    }
                    // end==============================
                }
    
                this.lstData.Items.Clear();  // lisData items clear
    
                // start====list the Twitter Status===
                TwitterStatusCollection myStatus = twit.Status.UserTimeline();
                foreach (TwitterStatus status in myStatus)
                {
                    this.lstData.Items.Add(status.Text);
                }
                // end==============================
    
                MessageBox.Show("Success");
            }
            catch (TwitterizerException twEx)
            {
                MessageBox.Show(twEx.Message.ToString());
            }
        }
    
        private void rbUpdate_CheckedChanged(object sender, EventArgs e)
        {
            rBtn_process();
        }
    
        private void rbDestroy_CheckedChanged(object sender, EventArgs e)
        {
            rBtn_process();
        }
    
        private void rbRefresh_CheckedChanged(object sender, EventArgs e)
        {
            rBtn_process();
        }
    
        private void rBtn_process()
        {
            if (this.rbUpdate.Checked == true)
            {
                this.btnProcess.Text = "Update";
                this.txtMessage.Enabled = true;
                this.labMessage.Text = "Input Update Status";
            }
            else if (this.rbDestroy.Checked == true)
            {
                this.btnProcess.Text = "Destory";
                this.txtMessage.Enabled = false;
                this.labMessage.Text = "Select Status in Status List";
            }
            else if (this.rbRefresh.Checked == true)
            {
                this.btnProcess.Text = "Refresh";
                this.txtMessage.Enabled = false;
                this.labMessage.Text = "Refresh Status List";
            }
        }
    }
    

    }

執行時 API 出現錯誤,原因是 Twitterizer.Framework 中的 Status.ID 宣告為 int,但是 Status.ID 為 3065796848,int 最大值為 2147483647,因此超出範圍,將 Status.ID 型別修改為 Int64 解決此問題,改了幾個地方。

另外,在 twitterizer 的 Getting Started 頁面中,對於如何使用 Twitterizer .NET Twitter Interface有詳細的說明。

  1. 結果
    影片依序 Demo 更新狀態 (Update)、刪除狀態(Destory)、顯示目前狀態(Refresh),影片中有打上註解。
    http://www.youtube.com/watch?v=PbNK0Ei84Nw

上一篇
[Windows Mobile]使用 Twitterizer API 來玩 Twitter 的前置作業
下一篇
[Windows Mobile]使用 Bing API 達成 Bing 圖片搜尋
系列文
Windows Mobile41
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言