annotate twitter_api.h @ 355:0fe895195132

implement OAuth authentication.
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Thu, 26 Aug 2010 15:05:33 +0900
parents 2e37e715e4a6
children 732de90812d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
254
c2620a99622b - divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
1 #ifndef _PIDGIN_TWITTER_TWITTER_API_H_
c2620a99622b - divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
2 #define _PIDGIN_TWITTER_TWITTER_API_H_
c2620a99622b - divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
3
355
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
4 #include <cipher.h> /* from libpurple */
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
5 #include <request.h>
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
6 //#include <conversation.h>
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
7 #include <math.h>
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
8
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
9 /* twitter API specific macros */
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
10 #define TWITTER_BASE_URL "http://twitter.com"
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
11 #define TWITTER_API_BASE_URL "http://api.twitter.com"
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
12
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
13 #define TWITTER_STATUS_GET "GET /1/statuses/home_timeline.xml?%s HTTP/1.1\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
14 "Host: api.twitter.com\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
15 "User-Agent: pidgin-twitter\r\n"
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
16
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
17 #define TWITTER_STATUS_POST "POST /1/statuses/update.xml HTTP/1.1\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
18 "Host: api.twitter.com\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
19 "User-Agent: pidgin-twitter\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
20 "Content-Length: %d\r\n"
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
21
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
22 #define TWITTER_FAV_POST "POST /1/favorites/create/%llu.xml HTTP/1.1\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
23 "Host: api.twitter.com\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
24 "User-Agent: pidgin-twitter\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
25 "Content-Length: %d\r\n"
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
26
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
27 #define TWITTER_RETWEET_POST "POST /1/statuses/retweet/%llu.xml HTTP/1.1\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
28 "Host: api.twitter.com\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
29 "User-Agent: pidgin-twitter\r\n" \
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
30 "Content-Length: %d\r\n"
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
31
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
32 #define TWITTER_STATUS_FORMAT "&source=pidgintwitter&status=%s"
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
33 //#define TWITTER_REPLY_FORMAT "&source=pidgintwitter&status=%s&in_reply_to_status_id=%llu"
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
34
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
35 #define TWITTER_DEFAULT_INTERVAL (60)
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
36 #define TWITTER_OLD_DEFAULT_ICON_URL "http://static.twitter.com/images/default_profile_bigger.png"
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
37 #define TWITTER_DEFAULT_ICON_URL "http://s.twimg.com/images/default_profile_3_bigger.png"
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
38
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
39 #define TWITTER_DEFAULT_RETRIEVE_COUNT (20)
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
40
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
41
0fe895195132 implement OAuth authentication.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 345
diff changeset
42 /* prototypes */
254
c2620a99622b - divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
43 void post_status_with_api(PurpleAccount *account, char **buffer);
c2620a99622b - divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
44 gboolean get_status_with_api(gpointer data);
345
2e37e715e4a6 add preliminary support for quotetweet and official retweet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 254
diff changeset
45 void fav_with_api(guint64 id);
2e37e715e4a6 add preliminary support for quotetweet and official retweet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 254
diff changeset
46 void retweet_with_api(guint64 id);
254
c2620a99622b - divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
47 void signed_on_cb(PurpleConnection *gc);
c2620a99622b - divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
48
c2620a99622b - divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
49 #endif