I only want to get a latest tweet to my Windows Phone Apps using Tweetsharp. below is what I have done:
- Installing Tweetsharp using Nuget Package Manager.
- Registering my apps to Twitter Developer Site.
- Get Consumer key, Consumer Secret, token, and token secret.
- Initializing TwitterService using that 4 keys.
Then, what is next? are there any mistakes of my steps above? I am really confused.
The documentation for tweetsharp is available on the wiki.
The best method is statuses/user_timeline :
Returns a collection of the most recent Tweets posted by the user
indicated by the screen_name or user_id parameters
You have all the prerequisites. Let's code !
A piece of Xaml
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1">
<Grid.Resources>
<DataTemplate x:Key="tweetList">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" TextWrapping="Wrap" Text="{Binding Text}"/>
<TextBlock Grid.Row="1" HorizontalAlignment="Right" Text="{Binding CreatedDate}" FontSize="12" FontStyle="Italic"/>
</Grid>
</DataTemplate>
</Grid.Resources>
<TextBlock Text="Tweet List" FontSize="26" HorizontalAlignment="Center" Margin="10" />
<ListBox
Height="650"
Margin="0,20,0,0"
ScrollViewer.VerticalScrollBarVisibility="Visible"
ItemTemplate="{StaticResource tweetList}"
x:Name="tweetList">
</ListBox>
</Grid>
and a piece of C#
// Constructor
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
var service = new TwitterService("yourconsumerKey", "yourconsumerSecret");
service.AuthenticateWith("youraccessToken", "youraccessTokenSecret");
service.ListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions() { ScreenName = "SCREENNAME" }, (ts, rep) =>
{
if (rep.StatusCode == HttpStatusCode.OK)
{
//bind
this.Dispatcher.BeginInvoke(() => { tweetList.ItemsSource = ts; });
}
});
}
that's all !