· 8 years ago · Jan 30, 2017, 11:48 PM
1string twitterURL = "https://api.twitter.com/1.1/statuses/update_with_media.json";
2
3
4 BLEnumHelper m_BLEnumHelper = new BLEnumHelper();
5 BLGodsProfile userprofile = new BLGodsProfile();
6 tbmgodsprofile godsAccessToken = userprofile.GetGodsByIdGods(m_strIdGods);
7
8 string oauth_token = godsAccessToken.twittertoken;
9 string oauth_token_secret = godsAccessToken.twitterpin;
10 string oauth_consumerKey = System.Configuration.ConfigurationManager.AppSettings["TwitterConsumerKey"];
11 string oauth_consumerSecret = System.Configuration.ConfigurationManager.AppSettings["TwitterConsumerSecret"];
12
13 string oauth_version = "1.0";
14 string oauth_signature_method = "HMAC-SHA1";
15
16 string oauth_nonce = Convert.ToBase64String(new ASCIIEncoding().GetBytes(DateTime.Now.Ticks.ToString()));
17 System.TimeSpan timeSpan = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc));
18 string oauth_timestamp = Convert.ToInt64(timeSpan.TotalSeconds).ToString();
19
20 // create oauth signature
21 string baseFormat = "oauth_consumer_key={0}&oauth_nonce={1}&oauth_signature_method={2}" + "&oauth_timestamp={3}&oauth_token={4}&oauth_version={5}&status={6}";
22
23 string baseString = string.Format(
24 baseFormat,
25 oauth_consumerKey,
26 oauth_nonce,
27 oauth_signature_method,
28 oauth_timestamp, oauth_token,
29 oauth_version,
30 Uri.EscapeDataString(message)
31 );
32
33 string oauth_signature = null;
34 using (HMACSHA1 hasher = new HMACSHA1(ASCIIEncoding.ASCII.GetBytes(Uri.EscapeDataString(oauth_consumerSecret) + "&" + Uri.EscapeDataString(oauth_token_secret))))
35 {
36 oauth_signature = Convert.ToBase64String(hasher.ComputeHash(ASCIIEncoding.ASCII.GetBytes("POST&" + Uri.EscapeDataString(twitterURL) + "&" + Uri.EscapeDataString(baseString))));
37 }
38
39 // create the request header
40 string authorizationFormat = "OAuth realm=\"{7}\", oauth_consumer_key=\"{0}\", oauth_nonce=\"{1}\", " + "oauth_signature=\"{2}\", oauth_signature_method=\"{3}\", " + "oauth_timestamp=\"{4}\", oauth_token=\"{5}\", " + "oauth_version=\"{6}\"";
41
42 string authorizationHeader = string.Format(
43 authorizationFormat,
44 Uri.EscapeDataString(oauth_consumerKey),
45 Uri.EscapeDataString(oauth_nonce),
46 Uri.EscapeDataString(oauth_signature),
47 Uri.EscapeDataString(oauth_signature_method),
48 Uri.EscapeDataString(oauth_timestamp),
49 Uri.EscapeDataString(oauth_token),
50 Uri.EscapeDataString(oauth_version),
51 Uri.EscapeDataString(twitterURL)
52 );
53
54 HttpWebRequest objHttpWebRequest = (HttpWebRequest)WebRequest.Create(twitterURL);
55 objHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
56 objHttpWebRequest.Headers.Add("Authorization", authorizationHeader);
57 objHttpWebRequest.Method = "POST";
58 using (Stream objStream = objHttpWebRequest.GetRequestStream())
59 {
60 byte[] content = ASCIIEncoding.ASCII.GetBytes("status=" + Uri.EscapeDataString(message));
61 content = ASCIIEncoding.ASCII.GetBytes("media[]=" + @"D:\TgByPiwi\TG\TgUi\images\chartshare\24jpeg");
62 objStream.Write(content, 0, content.Length);
63 }
64
65 var responseResult = "";
66 try
67 {
68 //success posting
69 WebResponse objWebResponse = objHttpWebRequest.GetResponse() as HttpWebResponse;
70 StreamReader objStreamReader = new StreamReader(objWebResponse.GetResponseStream());
71 responseResult = objStreamReader.ReadToEnd().ToString();
72 }
73 catch (Exception ex)
74 {
75 //throw exception error
76 responseResult = "Twitter Post Error: " + ex.Message.ToString() + ", authHeader: " + authorizationHeader;
77 }