public static void DeleteFacebookUser(FacebookCreateUserResponse user) { var facebookDeleteUserUrl = string.Format("https://graph.facebook.com/{0}?method=delete&access_token={1}", user.ID, user.AccessToken); var deleteUserRequest = new UnityWwwRequest(new Uri(facebookDeleteUserUrl)); deleteUserRequest.GetResponse(); }
private static string GetFacebookAccessToken(string facebookAppId, string facebookAppSecret) { // https://developers.facebook.com/docs/opengraph/howtos/publishing-with-app-token/ var facebookAppAccessTokenUri = string.Format( "https://graph.facebook.com/oauth/access_token?client_id={0}&client_secret={1}&grant_type=client_credentials", facebookAppId, facebookAppSecret); // Get App Access Token string accessToken; var accessTokenRequest = new UnityWwwRequest(new Uri(facebookAppAccessTokenUri)); var accessTokenResponse = accessTokenRequest.GetResponse(); using (var streamReader = new StreamReader(accessTokenResponse.ResponseBody.OpenResponse(), Encoding.GetEncoding("UTF-8"))) { accessToken = streamReader.ReadToEnd(); } return accessToken; }
private static string GetFacebookAccessToken(string facebookAppId, string facebookAppSecret) { // https://developers.facebook.com/docs/opengraph/howtos/publishing-with-app-token/ var facebookAppAccessTokenUri = string.Format( "https://graph.facebook.com/oauth/access_token?client_id={0}&client_secret={1}&grant_type=client_credentials", facebookAppId, facebookAppSecret); // Get App Access Token string accessToken; var accessTokenRequest = new UnityWwwRequest(new Uri(facebookAppAccessTokenUri)); var accessTokenResponse = accessTokenRequest.GetResponse(); using (var streamReader = new StreamReader(accessTokenResponse.ResponseBody.OpenResponse(), Encoding.GetEncoding("UTF-8"))) { accessToken = streamReader.ReadToEnd(); } return(accessToken); }
public static FacebookCreateUserResponse CreateFacebookUser(string facebookAppId, string facebookAppSecret) { var accessToken = GetFacebookAccessToken(facebookAppId, facebookAppSecret); FacebookCreateUserResponse responseObject; // Create an user for the app. This returns the OAuth token. // https://developers.facebook.com/docs/test_users/ var facebookCreateNewUserUrl = string.Format( @"https://graph.facebook.com/{0}/accounts/test-users? installed=true&name=Foo%20Bar&locale=en_US&permissions=read_stream&method=post&{1}", facebookAppId, accessToken); var createUserRequest = new UnityWwwRequest(new Uri(facebookCreateNewUserUrl)); var createUserResponse = createUserRequest.GetResponse(); using (var streamReader = new StreamReader(createUserResponse.ResponseBody.OpenResponse())) { var json = ThirdParty.Json.LitJson.JsonMapper.ToObject(streamReader); responseObject = new FacebookCreateUserResponse(json); } return responseObject; }
public static FacebookCreateUserResponse CreateFacebookUser(string facebookAppId, string facebookAppSecret) { var accessToken = GetFacebookAccessToken(facebookAppId, facebookAppSecret); FacebookCreateUserResponse responseObject; // Create an user for the app. This returns the OAuth token. // https://developers.facebook.com/docs/test_users/ var facebookCreateNewUserUrl = string.Format( @"https://graph.facebook.com/{0}/accounts/test-users? installed=true&name=Foo%20Bar&locale=en_US&permissions=read_stream&method=post&{1}", facebookAppId, accessToken); var createUserRequest = new UnityWwwRequest(new Uri(facebookCreateNewUserUrl)); var createUserResponse = createUserRequest.GetResponse(); using (var streamReader = new StreamReader(createUserResponse.ResponseBody.OpenResponse())) { var json = ThirdParty.Json.LitJson.JsonMapper.ToObject(streamReader); responseObject = new FacebookCreateUserResponse(json); } return(responseObject); }
private void PostObject(PostObjectRequest request, AsyncOptions options, Action <AmazonWebServiceRequest, AmazonWebServiceResponse, Exception, AsyncOptions> callbackHelper) { string url; string subdomain = request.Region.Equals(RegionEndpoint.USEast1) ? "s3" : "s3-" + request.Region.SystemName; IDictionary <string, string> headers = new Dictionary <string, string>(); if (request.Bucket.IndexOf('.') > -1) { url = string.Format(CultureInfo.InvariantCulture, "https://{0}.amazonaws.com/{1}/", subdomain, request.Bucket); } else { url = string.Format(CultureInfo.InvariantCulture, "https://{0}.{1}.amazonaws.com", request.Bucket, subdomain); } Uri uri = new Uri(url); IHttpRequest <string> webRequest = null; if (AWSConfigs.HttpClient == AWSConfigs.HttpClientOption.UnityWWW) { webRequest = new UnityWwwRequest(uri); } else { webRequest = new UnityRequest(uri); } var boundary = Convert.ToBase64String(Guid.NewGuid().ToByteArray()).Replace('=', 'z'); headers[HeaderKeys.ContentTypeHeader] = string.Format(CultureInfo.InvariantCulture, "multipart/form-data; boundary={0}", boundary); headers[HeaderKeys.UserAgentHeader] = AWSSDKUtils.UserAgentHeader; webRequest.Method = "POST"; using (var reqStream = new MemoryStream()) { request.WriteFormData(boundary, reqStream); byte[] boundaryBytes = Encoding.UTF8.GetBytes(string.Format(CultureInfo.InvariantCulture, "--{0}\r\nContent-Disposition: form-data; name=\"file\"\r\n\r\n", boundary)); reqStream.Write(boundaryBytes, 0, boundaryBytes.Length); using (var inputStream = null == request.Path ? request.InputStream : File.OpenRead(request.Path)) { byte[] buf = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.Read(buf, 0, 1024)) > 0) { reqStream.Write(buf, 0, bytesRead); } } byte[] endBoundaryBytes = Encoding.UTF8.GetBytes(string.Format(CultureInfo.InvariantCulture, "\r\n--{0}--", boundary)); reqStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length); webRequest.WriteToRequestBody(null, reqStream.ToArray(), headers); var callback = ((Amazon.Runtime.Internal.IAmazonWebServiceRequest)request).StreamUploadProgressCallback; if (callback != null) { webRequest.SetupProgressListeners(reqStream, 0, request, callback); } } var executionContext = new AsyncExecutionContext( new AsyncRequestContext(this.Config.LogMetrics, new NullSigner()) { ClientConfig = this.Config, OriginalRequest = request, Action = callbackHelper, AsyncOptions = options, IsAsync = true }, new AsyncResponseContext() ); webRequest.SetRequestHeaders(headers); executionContext.RuntimeState = webRequest; executionContext.ResponseContext.AsyncResult = new RuntimeAsyncResult(executionContext.RequestContext.Callback, executionContext.RequestContext.State); executionContext.ResponseContext.AsyncResult.AsyncOptions = executionContext.RequestContext.AsyncOptions; executionContext.ResponseContext.AsyncResult.Action = executionContext.RequestContext.Action; executionContext.ResponseContext.AsyncResult.Request = executionContext.RequestContext.OriginalRequest; webRequest.BeginGetResponse(new AsyncCallback(ProcessPostResponse), executionContext); }
private void PostObject(PostObjectRequest request, AsyncOptions options, Action<AmazonWebServiceRequest, AmazonWebServiceResponse, Exception, AsyncOptions> callbackHelper) { string url; string subdomain = request.Region.Equals(RegionEndpoint.USEast1) ? "s3" : "s3-" + request.Region.SystemName; IDictionary<string, string> headers = new Dictionary<string, string>(); if (request.Bucket.IndexOf('.') > -1) url = string.Format(CultureInfo.InvariantCulture, "https://{0}.amazonaws.com/{1}/", subdomain, request.Bucket); else url = string.Format(CultureInfo.InvariantCulture, "https://{0}.{1}.amazonaws.com", request.Bucket, subdomain); Uri uri = new Uri(url); IHttpRequest<string> webRequest = null; if (AWSConfigs.HttpClient == AWSConfigs.HttpClientOption.UnityWWW) webRequest = new UnityWwwRequest(uri); else webRequest = new UnityRequest(uri); var boundary = Convert.ToBase64String(Guid.NewGuid().ToByteArray()).Replace('=', 'z'); headers[HeaderKeys.ContentTypeHeader] = string.Format(CultureInfo.InvariantCulture, "multipart/form-data; boundary={0}", boundary); headers[HeaderKeys.UserAgentHeader] = AWSSDKUtils.UserAgentHeader; webRequest.Method = "POST"; using (var reqStream = new MemoryStream()) { request.WriteFormData(boundary, reqStream); byte[] boundaryBytes = Encoding.UTF8.GetBytes(string.Format(CultureInfo.InvariantCulture, "--{0}\r\nContent-Disposition: form-data; name=\"file\"\r\n\r\n", boundary)); reqStream.Write(boundaryBytes, 0, boundaryBytes.Length); using (var inputStream = null == request.Path ? request.InputStream : File.OpenRead(request.Path)) { byte[] buf = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.Read(buf, 0, 1024)) > 0) { reqStream.Write(buf, 0, bytesRead); } } byte[] endBoundaryBytes = Encoding.UTF8.GetBytes(string.Format(CultureInfo.InvariantCulture, "\r\n--{0}--", boundary)); reqStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length); webRequest.WriteToRequestBody(null, reqStream.ToArray(), headers); var callback = ((Amazon.Runtime.Internal.IAmazonWebServiceRequest)request).StreamUploadProgressCallback; if (callback != null) webRequest.SetupProgressListeners(reqStream, 0, request, callback); } var executionContext = new AsyncExecutionContext( new AsyncRequestContext(this.Config.LogMetrics) { ClientConfig = this.Config, OriginalRequest = request, Action = callbackHelper, AsyncOptions = options, IsAsync = true }, new AsyncResponseContext() ); webRequest.SetRequestHeaders(headers); executionContext.RuntimeState = webRequest; executionContext.ResponseContext.AsyncResult = new RuntimeAsyncResult(executionContext.RequestContext.Callback, executionContext.RequestContext.State); executionContext.ResponseContext.AsyncResult.AsyncOptions = executionContext.RequestContext.AsyncOptions; executionContext.ResponseContext.AsyncResult.Action = executionContext.RequestContext.Action; executionContext.ResponseContext.AsyncResult.Request = executionContext.RequestContext.OriginalRequest; webRequest.BeginGetResponse(new AsyncCallback(ProcessPostResponse), executionContext); }