private void ApplicationBarIconButton_Click(object sender, EventArgs e) { RestClient client2 = new RestClient { Authority = "https://graph.facebook.com/", }; RestRequest request2 = new RestRequest { Path = "/me/feed?message=" + WatermarkTB.Text }; if (imgstream != null) { string albumId = (string)settings["facebook_photo"]; request2 = new RestRequest { Path = albumId + "/photos?message=" + WatermarkTB.Text }; request2.AddFile("photo", "image.jpg", imgstream); } request2.AddField("access_token", (string)settings["facebook_token"]); var callback = new RestCallback( (restRequest, restResponse, userState) => { // Callback when signalled } ); client2.BeginRequest(request2, callback); MessageBox.Show("Share successfully.", "Thanks", MessageBoxButton.OK); this.NavigationService.GoBack(); }
private void ApplicationBarIconButton_Click(object sender, EventArgs e) { string auth_key = String.Format("full_auth_token {0}", settings["me2day_token"]); IWebCredentials credentials = new BasicAuthCredentials { Username = (string)settings["me2day_userid"], Password = auth_key }; RestClient client = new RestClient { Authority = "http://me2day.net/api/" }; RestRequest request = new RestRequest { Credentials = credentials, Path = String.Format("create_post/{0}.xml?akey=aed420d038f9b1a7fe3b5c0d94df22f5", settings["me2day_userid"]) }; request.AddParameter("post[body]", WatermarkTB.Text); request.AddParameter("post[tags]", WatermarkTB2.Text); if (imgstream != null) { request.AddFile("attachment", "image.jpg", imgstream, "image/jpeg"); } var callback = new RestCallback( (restRequest, restResponse, userState) => { // Callback when signalled } ); client.BeginRequest(request, callback); MessageBox.Show("Share successfully.", "Thanks", MessageBoxButton.OK); this.NavigationService.GoBack(); }
private void photoChooserTask_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { img_bool = true; var client = new RestClient { Authority = "http://api.twipl.net/", VersionPath = "1", }; var request = new RestRequest { Path = "upload.json" // can be upload.xml or whatever, but you have to parse it accordingly }; request.AddFile("media1", "img.jpg", e.ChosenPhoto); request.AddField("key", "b76ecda29f7c47e0bfefd0b458e91fb5"); request.AddField("oauth_token", (string)settings["twitter_token"]); request.AddField("oauth_secret", (string)settings["twitter_tokensecret"]); request.AddField("message", ""); client.BeginRequest(request, new RestCallback(Callback)); } }
//void fb_PostCompleted(object sender, FacebookApiEventArgs e) //{ // if (e.Error != null) // { // Dispatcher.BeginInvoke(() => MessageBox.Show(e.Error.Message)); // return; // } // else // { // Dispatcher.BeginInvoke(() => // { // progbar1.IsIndeterminate = false; // progbar1.Visibility = Visibility.Collapsed; // MessageBox.Show("Successfully shared on Facebook"); // //if (NavigationService.CanGoBack) // // NavigationService.GoBack(); // }); // } //} public void ShareOnTwitter() { OAuthCredentials credentials = new OAuthCredentials(); credentials.Type = OAuthType.ProtectedResource; credentials.SignatureMethod = OAuthSignatureMethod.HmacSha1; credentials.ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader; credentials.ConsumerKey = TwitterSettings.ConsumerKey; credentials.ConsumerSecret = TwitterSettings.ConsumerKeySecret; credentials.Token = tokenx; credentials.TokenSecret = tokensecx; credentials.Version = "1.0"; //credentials.ClientUsername = ""; //credentials.CallbackUrl = "www.google.com"; //var service = new TwitterService(TwitterSettings.ConsumerKey, TwitterSettings.ConsumerKeySecret); //service.AuthenticateWith(tokenx, tokensecx); //var resized = img.Resize(img.PixelWidth / 4, img.PixelHeight / 4, WriteableBitmapExtensions.Interpolation.Bilinear); //var fileStream = new MemoryStream(); //resized.SaveJpeg(fileStream, resized.PixelWidth, resized.PixelHeight, 100, 100); //fileStream.Seek(0, SeekOrigin.Begin); //SendTweetWithMediaOptions msgMedia = new SendTweetWithMediaOptions(); //msgMedia.Status = photo_text.Text; //Dictionary<string, Stream> imageDict = new Dictionary<string, Stream> { { fileName, fileStream } }; ////imageDict.Add(imagePath, imageStream); //msgMedia.Images = imageDict; ////status = service.SendTweetWithMedia(new SendTweetWithMediaOptions() { Status = readerMsg.Message, Images = imageDict }); //service.SendTweetWithMedia(msgMedia, tweetResponse); //other method RestClient _client = new RestClient { Authority = "https://api.twitter.com", HasElevatedPermissions = true, }; var twitterRequest = new RestRequest { Credentials = credentials, Path = "/1.1/statuses/update_with_media.json", Method = WebMethod.Post }; //twitterRequest.AddHeader("content-type", "application/x-www-form-urlencoded"); //twitterRequest.AddHeader("content-type", "multipart/form-data"); //twitterRequest.AddField("consumer_token", TwitterSettings.ConsumerKey); //twitterRequest.AddField("consumer_secret", TwitterSettings.ConsumerKeySecret); //twitterRequest.AddField("oauth_token", tokenx); //twitterRequest.AddField("oauth_secret", tokensecx); var resized = img.Resize(img.PixelWidth / 4, img.PixelHeight / 4, WriteableBitmapExtensions.Interpolation.Bilinear); var fileStream = new MemoryStream(); resized.SaveJpeg(fileStream, resized.PixelWidth, resized.PixelHeight, 100, 100); fileStream.Seek(0, SeekOrigin.Begin); //twitterRequest.AddParameter("status", photo_text.Text); twitterRequest.AddField("status", photo_text.Text); twitterRequest.AddFile("media[]", "test", fileStream, "image/jpeg"); _client.BeginRequest(twitterRequest, NewTweetCompleted); // another method // var resized = img.Resize(img.PixelWidth / 4, img.PixelHeight / 4, WriteableBitmapExtensions.Interpolation.Bilinear); // var fileStream = new MemoryStream(); // resized.SaveJpeg(fileStream, resized.PixelWidth, resized.PixelHeight, 100, 100); // fileStream.Seek(0, SeekOrigin.Begin); // string fileUploadUrl = "http://api.twitter.com/1.1/statuses/update_with_media.json"; // HttpClientHandler handler = new HttpClientHandler(); //// handler.Credentials = new NetworkCredential("username", "password"); // handler.Credentials = new NetworkCredential(TwitterSettings.ConsumerKey, TwitterSettings.ConsumerKeySecret); // HttpClient client = new HttpClient(handler); // fileStream.Position = 0; // MultipartFormDataContent content = new MultipartFormDataContent(); // content.Add(new StreamContent(fileStream), "media[]", fileName); // await client.PostAsync(fileUploadUrl, content) // .ContinueWith((postTask) => // { // postTask.Result.EnsureSuccessStatusCode(); // }); }
public void PostStatusesWithPic(String text, String path, CompleteHandler handler) { if (m_netEngine == null) m_netEngine = new DoubanNetEngine(); RestRequest request = new RestRequest(); request.Method = WebMethod.Post; request.Path = "shuo/v2/statuses/"; request.AddParameter("text", text); request.AddParameter("source", DoubanSdkData.AppKey); //path = ""; if (!String.IsNullOrEmpty(path)) { IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication(); if (!file.FileExists(path)) { file.Dispose(); DoubanEventArgs args = new DoubanEventArgs(); args.errorCode = DoubanSdkErrCode.XPARAM_ERR; handler(args); return; } file.Dispose(); string picType = System.IO.Path.GetExtension(path); string picName = System.IO.Path.GetFileName(path); if ("png" == picType) { request.AddFile("image", picName, path, "image/png"); } else { request.AddFile("image", picName, path, "image/jpeg"); } } m_netEngine.SendRequest(request, (DoubanSdkResponse response) => { if (response.errCode == DoubanSdkErrCode.SUCCESS) { DoubanEventArgs args = new DoubanEventArgs(); args.errorCode = DoubanSdkErrCode.SUCCESS; args.specificCode = response.specificCode; handler(args); } else { DoubanEventArgs args = new DoubanEventArgs(); args.errorCode = response.errCode; args.specificCode = response.specificCode; handler(args); } }); }
void PostTweet() { var credentials = new OAuthCredentials { Type = OAuthType.ProtectedResource, SignatureMethod = OAuthSignatureMethod.HmacSha1, ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader, ConsumerKey = ConsumerKey, ConsumerSecret = ConsumerSecret, Token = token, TokenSecret = tokenSecret, Version = "1.0a" }; RestClient restClient = new RestClient { Authority = "https://upload.twitter.com", //HasElevatedPermissions = true, Credentials = credentials, Method = Hammock.Web.WebMethod.Post }; RestRequest restRequest = new RestRequest { Path = "1/statuses/update_with_media.json" }; restRequest.AddParameter("status", message); restRequest.AddFile("media[]", (new FileInfo(filePath)).Name, filePath, "image/png"); restClient.BeginRequest(restRequest, new RestCallback(PostTweetRequestCallback)); }
private void share_Click(object sender, RoutedEventArgs e) { if (!NetworkInterface.GetIsNetworkAvailable()) { MessageBox.Show("This application must require for internet connection. Please check your internet connection status", "Sorry", MessageBoxButton.OK); return; } if (twitter_chk.IsChecked == false && facebook_chk.IsChecked == false && me2day_chk.IsChecked == false) { MessageBox.Show("Any account hasn't availiable. Please setting your account.", "Sorry", MessageBoxButton.OK); return; } else { IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication(); if (WatermarkTB.Text.Length == 0 || WatermarkTB.Text == emptystr) { MessageBox.Show("Please input your minds :)", "Sorry", MessageBoxButton.OK); return; } share_status = true; wait_text.Text = "Share in progress.. Pleas wait"; share_pg.Visibility = Visibility.Visible; tw_chk = false; mw_chk = false; fw_chk = false; share.Visibility = Visibility.Collapsed; if (me2day_chk.IsChecked == true) { string auth_key = String.Format("full_auth_token {0}", settings["me2day_token"]); IWebCredentials credentials = new BasicAuthCredentials { Username = (string)settings["me2day_userid"], Password = auth_key }; RestClient client = new RestClient { Authority = "http://me2day.net/api/" }; RestRequest request = new RestRequest { Credentials = credentials, Path = String.Format("create_post/{0}.xml?akey=aed420d038f9b1a7fe3b5c0d94df22f5", settings["me2day_userid"]) }; request.AddParameter("post[body]", WatermarkTB.Text); if (img_bool) { IsolatedStorageFileStream fileStream2 = myIsolatedStorage.OpenFile("img.jpg", FileMode.Open, FileAccess.Read); request.AddFile("attachment", "image.jpg", fileStream2, "image/jpeg"); } var callback = new RestCallback( (restRequest, restResponse, userState) => { Dispatcher.BeginInvoke(delegate() { mw_chk = true; chk_share(); }); } ); client.BeginRequest(request, callback); } if (twitter_chk.IsChecked == true) { TwitterService service = new TwitterService("g8F2KdKH40gGp9BXemw13Q", "OyFRFsI05agcJtURtLv8lpYbYRwZAIL5gr5xQNPW0Q"); service.AuthenticateWith((string)settings["twitter_token"], (string)settings["twitter_tokensecret"]); string tweet = WatermarkTB.Text; if (img_bool == true) tweet += " " + twit_pic; service.SendTweet(tweet, (tweets, response) => { Dispatcher.BeginInvoke(delegate() { tw_chk = true; chk_share(); }); }); } if (facebook_chk.IsChecked == true) { RestClient client2 = new RestClient { Authority = "https://graph.facebook.com/", }; RestRequest request2 = new RestRequest { Path = "/me/feed?message=" + WatermarkTB.Text }; if (img_bool) { IsolatedStorageFileStream fileStream2 = myIsolatedStorage.OpenFile("img.jpg", FileMode.Open, FileAccess.Read); request2 = new RestRequest { Path = "/photos?message=" + WatermarkTB.Text }; request2.AddFile("photo", "image.jpg", fileStream2); } request2.AddField("access_token", (string)settings["facebook_token"]); var callback = new RestCallback( (restRequest, restResponse, userState) => { Dispatcher.BeginInvoke(delegate() { fw_chk = true; chk_share(); }); } ); client2.BeginRequest(request2, callback); } } }
private void photoChooserTask_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { img_bool = true; using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) { if (myIsolatedStorage.FileExists("img.jpg")) { myIsolatedStorage.DeleteFile("img.jpg"); } IsolatedStorageFileStream fileStream = myIsolatedStorage.CreateFile("img.jpg"); Uri uri = new Uri("img.jpg", UriKind.Relative); BitmapImage bitmap = new BitmapImage(); bitmap.SetSource(e.ChosenPhoto); WriteableBitmap wb = new WriteableBitmap(bitmap); System.Windows.Media.Imaging.Extensions.SaveJpeg(wb, fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85); wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85); fileStream.Close(); photo.Content = "Remove a picture"; if (twitter_chk.IsChecked == true) { share_pg.Visibility = Visibility.Visible; share.Visibility = Visibility.Collapsed; var client = new RestClient { Authority = "http://api.twipl.net/", VersionPath = "1", }; var request = new RestRequest { Path = "upload.json" // can be upload.xml or whatever, but you have to parse it accordingly }; IsolatedStorageFileStream fileStream2 = myIsolatedStorage.OpenFile("img.jpg", FileMode.Open, FileAccess.Read); request.AddFile("media1", "img.jpg", fileStream2); request.AddField("key", "b76ecda29f7c47e0bfefd0b458e91fb5"); request.AddField("oauth_token", (string)settings["twitter_token"]); request.AddField("oauth_secret", (string)settings["twitter_tokensecret"]); request.AddField("message", ""); client.BeginRequest(request, new RestCallback(Callback)); } } } }
private void UploadPhoto(string imagePath, string imageName, string message) { var credentials = new OAuthCredentials { Type = OAuthType.ProtectedResource, SignatureMethod = OAuthSignatureMethod.HmacSha1, ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader, ConsumerKey = _twitterClientInfo.ConsumerKey, ConsumerSecret = _twitterClientInfo.ConsumerSecret, Token = _accessToken.Token, TokenSecret = _accessToken.TokenSecret, Version = "1.0a" }; RestClient restClient = new RestClient { Authority = "https://upload.twitter.com", //HasElevatedPermissions = true, Credentials = credentials, Method = WebMethod.Post }; RestRequest restRequest = new RestRequest { Path = "1/statuses/update_with_media.json" }; restRequest.AddParameter("status", message); restRequest.AddFile("media[]", imageName, imagePath, "image/jpg"); restClient.BeginRequest(restRequest, PostTweetRequestCallback); }
public void BeginRequest(string path, IDictionary<string, string> parameters, IDictionary<string, File> files, WebMethod method, RestCallback callback, object userState) { var request = new RestRequest { Path = path, Method = method }; if (files != null) { foreach (var f in files) request.AddFile(f.Key, f.Value.FileName, f.Value.FilePath); } if (Credentials != null) request.Credentials = Credentials; if (parameters != null) foreach (var p in parameters) { request.AddParameter(p.Key, p.Value); } #if !SILVERLIGHT if (files != null) foreach (var f in files) { byte[] rawData = System.IO.File.ReadAllBytes(f.Value.FilePath); request.AddPostContent(rawData); } //request.AddFile(f.Key, f.Value.FileName, f.Value.FilePath, "image/jpeg"); #endif Client.BeginRequest(request, (req, res, obj) => { if (callback != null) callback(req, res, obj); }, userState); }