/// <summary> /// EventHandler for ItemAdd Event of InboxFolder /// </summary> /// <param name="Item">The Item wich was added to InboxFolder</param> private void Items_ItemAdd(object Item) { if (MutexManager.InFullSync()) { return; } try { // Check the ItemType, could be a MeetingAccept or something else if (Item is Ol.ContactItem) { // Cast to ContactItem Object Ol.ContactItem contact = (Ol.ContactItem)Item; if (MutexManager.IsBlocked(contact)) { logger.Debug("Removing contact " + OutlookAdapter.ContactItemDisplay(contact) + " from mutex file"); MutexManager.ClearBlockedContact(contact); return; } logger.Info("Adding " + OutlookAdapter.ContactItemDisplay(contact)); // Do something with Item GoogleAdapter ga = new GoogleAdapter(Config.Username, Config.Password, logger); MutexManager.AddToBlockedContacts(contact); ga.CreateContactFromOutlookAsync(contact); // Release COM Object contact = null; } } catch (System.Exception ex) { logger.Error(ex.Message); logger.Debug(ex.StackTrace.ToString()); MessageBox.Show(ex.Message); } }
private static List <SocialFeedItem> SearchYouTube(string query) { GoogleAdapter.ApiKey = ConfigurationManager.AppSettings["GoogleAPIKey"].ToString(); var results = GoogleAdapter.SearchYouTube(query); return(results); }
private void Items_ItemChange(object Item) { if (MutexManager.InFullSync()) { return; } try { if (Item is ContactItem) { ContactItem item = (ContactItem)Item; if (MutexManager.IsBlocked(item)) { logger.Debug("Removing contact " + OutlookAdapter.ContactItemDisplay(item) + " from mutex file"); MutexManager.ClearBlockedContact(item); return; } logger.Info("Adding " + OutlookAdapter.ContactItemDisplay(item) + " to mutex file"); MutexManager.AddToBlockedContacts(item); logger.Info("Updating " + OutlookAdapter.ContactItemDisplay(item)); GoogleAdapter ga = new GoogleAdapter(Config.Username, Config.Password, logger); ga.UpdateContactFromOutlookAsync(item, null); } } catch (System.Exception ex) { logger.Error(ex.Message); logger.Debug(ex.StackTrace.ToString()); MessageBox.Show(ex.Message); } }
public static HttpConfiguration MapGoogleBotFramework(this HttpConfiguration httpConfiguration, Action <GoogleBotConfigurationBuilder> configurer) { var options = new GoogleBotOptions(); var optionsBuilder = new GoogleBotConfigurationBuilder(options); configurer(optionsBuilder); ConfiguregoogleBotRoutes(BuildAdapter()); return(httpConfiguration); GoogleAdapter BuildAdapter() { var adapter = new GoogleAdapter(); foreach (var middleware in options.Middleware) { adapter.Use(middleware); } return(adapter); } void ConfiguregoogleBotRoutes(GoogleAdapter adapter) { var routes = httpConfiguration.Routes; var baseUrl = options.Paths.BasePath; if (!baseUrl.StartsWith("/")) { baseUrl = baseUrl.Substring(1, baseUrl.Length - 1); } if (!baseUrl.EndsWith("/")) { baseUrl += "/"; } routes.MapHttpRoute( "Google Action Requests Handler", baseUrl + options.Paths.SkillRequestsPath, defaults: null, constraints: null, handler: new GoogleRequestHandler(adapter, options.googleOptions)); } }
public ActionResult GooglePlusSearch(string query) { var apiKey = System.Web.HttpContext.Current.Application["GoogleAPIKey"].ToString(); GoogleAdapter.ApiKey = apiKey; var model = new GooglePlusSearch() { Query = query, ResultsXml = string.Empty }; if (string.IsNullOrEmpty(query)) { return(this.View(model)); } model.ResultsXml = GoogleAdapter.SearchGooglePlus(query); return(this.View(model)); }
/// <summary> /// Initializes and adds a bot adapter to the HTTP request pipeline, using custom endpoint paths for the bot. /// </summary> /// <param name="applicationBuilder">The application builder for the ASP.NET application.</param> /// <param name="configurePaths">Allows you to modify the endpoints for the bot.</param> /// <returns>The updated application builder.</returns> /// <remarks>This method adds any middleware from the <see cref="GoogleBotOptions"/> provided in the /// <see cref="ServiceCollectionExtensions.AddBot{TBot}(IServiceCollection, Action{GoogleBotOptions})"/> /// method to the adapter.</remarks> public static IApplicationBuilder UseGoogle(this IApplicationBuilder applicationBuilder, Action <GoogleBotPaths> configurePaths) { if (applicationBuilder == null) { throw new ArgumentNullException(nameof(applicationBuilder)); } if (configurePaths == null) { throw new ArgumentNullException(nameof(configurePaths)); } var options = applicationBuilder.ApplicationServices.GetRequiredService <IOptions <GoogleBotOptions> >().Value; var googleAdapter = new GoogleAdapter() { ActionInvocationName = options.GoogleOptions.ActionInvocationName, ShouldEndSessionByDefault = options.GoogleOptions.ShouldEndSessionByDefault, TryConvertFirstActivityAttachmentToGoogleCard = options.GoogleOptions.TryConvertFirstActivityAttachmentTogoogleCard }; foreach (var middleware in options.Middleware) { googleAdapter.Use(middleware); } var paths = options.Paths; configurePaths(paths); if (!options.Paths.BasePath.EndsWith("/")) { options.Paths.BasePath += "/"; } applicationBuilder.Map( $"{paths.BasePath}{paths.SkillRequestsPath}", botActivitiesAppBuilder => botActivitiesAppBuilder.Run(new GoogleRequestHandler(googleAdapter, options.GoogleOptions).HandleAsync)); return(applicationBuilder); }
public GoogleController(GoogleAdapter adapter, IBot bot) { Adapter = adapter; Bot = bot; }
protected async Task <object> ProcessMessageRequestAsync(HttpRequest request, GoogleAdapter GoogleAdapter, BotCallbackHandler botCallbackHandler) { GoogleRequestBody actionRequest; Payload actionPayload; var memoryStream = new MemoryStream(); request.Body.CopyTo(memoryStream); memoryStream.Position = 0; var projectId = AuthenticationHelpers.GetProjectIdFromRequest(request); GoogleAdapter.ActionProjectId = projectId; using (var bodyReader = new StreamReader(memoryStream, Encoding.UTF8)) { var skillRequestContent = bodyReader.ReadToEnd(); try { actionRequest = JsonConvert.DeserializeObject <GoogleRequestBody>(skillRequestContent); actionPayload = actionRequest.OriginalDetectIntentRequest.Payload; } catch { actionPayload = JsonConvert.DeserializeObject <Payload>(skillRequestContent); } } var responseBody = await GoogleAdapter.ProcessActivity( actionPayload, botCallbackHandler); return(responseBody); }
public GoogleRequestHandler(GoogleAdapter googleAdapter, GoogleOptions googleOptions) { _googleAdapter = googleAdapter; _googleOptions = googleOptions; }
public async Task <HttpResponseMessage> ProcessMessageRequestAsync(HttpRequestMessage request, GoogleAdapter googleAdapter, Func <ITurnContext, Task> botCallbackHandler, CancellationToken cancellationToken) { GoogleRequestBody skillRequest; Payload actionPayload; byte[] requestByteArray; try { requestByteArray = await request.Content.ReadAsByteArrayAsync(); skillRequest = await request.Content.ReadAsAsync <GoogleRequestBody>(googleMessageMediaTypeFormatters, cancellationToken); actionPayload = skillRequest.OriginalDetectIntentRequest.Payload; } catch (Exception) { try { actionPayload = await request.Content.ReadAsAsync <Payload>(googleMessageMediaTypeFormatters, cancellationToken); } catch (Exception e) { throw new JsonSerializationException("Invalid JSON received"); } } var GoogleResponseBody = await googleAdapter.ProcessActivity( actionPayload, _googleOptions, null); if (GoogleResponseBody == null) { return(null); } var GoogleResponseBodyJson = JsonConvert.SerializeObject(GoogleResponseBody, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, ContractResolver = new DefaultContractResolver { NamingStrategy = new CamelCaseNamingStrategy() } }); var response = request.CreateResponse(HttpStatusCode.OK); response.Content = new StringContent(GoogleResponseBodyJson); response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); return(response); }
protected async Task <GoogleResponseBody> ProcessMessageRequestAsync(HttpRequest request, GoogleAdapter googleAdapter, BotCallbackHandler botCallbackHandler) { GoogleRequestBody actionRequest; Payload actionPayload; var memoryStream = new MemoryStream(); request.Body.CopyTo(memoryStream); var requestBytes = memoryStream.ToArray(); memoryStream.Position = 0; using (var bodyReader = new StreamReader(memoryStream, Encoding.UTF8)) { var skillRequestContent = bodyReader.ReadToEnd(); try { actionRequest = JsonConvert.DeserializeObject <GoogleRequestBody>(skillRequestContent); actionPayload = actionRequest.OriginalDetectIntentRequest.Payload; } catch (Exception ex) { try { actionPayload = JsonConvert.DeserializeObject <Payload>(skillRequestContent); } catch (Exception e) { throw; } } } var GoogleResponseBody = await googleAdapter.ProcessActivity( actionPayload, _googleOptions, botCallbackHandler); return(GoogleResponseBody); }
partial void loginWithGoogle(NSObject sender) { ILoginProvider provider = new GoogleAdapter(new GoogleLoginProvider()); Login(provider); }