public static async Task AddNewOffice365Contact([QueueTrigger("scnewgraphcontact", Connection = "AzureWebJobsStorage")] FullCardInfoTable myQueueItem, ILogger log) { var config = LoadAppSettings(); if (null == config) { log.LogInformation("Missing or invalid local.settings.json file."); return; } GraphServiceClient graphClient = GetAuthenticatedGraphClient(config); try { if (graphClient != null) { var fullname = myQueueItem.Info.Name.ToString(); var tmpFullName = fullname.Split(new char[] { ' ' }); var fn = tmpFullName[0]; var ln = tmpFullName[1]; string newLeadRaw = JsonConvert.SerializeObject(myQueueItem); var businessPhonesList = new List <String>(); businessPhonesList.Add(myQueueItem.Info.Phone?.ToString()); var emailAddresses = new EmailAddress { Address = myQueueItem.Info.Email?.ToString(), Name = myQueueItem.Info.Name?.ToString(), }; var bizAddresses = new PhysicalAddress { City = "ToDo Item", CountryOrRegion = "US", PostalCode = "0000", State = "Md", Street = "ToDoItem" }; var emailAddressesList = new List <EmailAddress>(); emailAddressesList.Add(emailAddresses); var contact = new Contact { CompanyName = myQueueItem.Info.Company?.ToString(), //BusinessAddress = bizAddresses, JobTitle = myQueueItem.Info.Title?.ToString(), //Manager = "Dan Holme", //NickName = "Bill", GivenName = fn, Surname = ln, PersonalNotes = newLeadRaw, EmailAddresses = emailAddressesList, BusinessPhones = businessPhonesList, }; //graphClient.Me.Contacts var NewlyCreatedContact = await graphClient.Users["65926cde-172b-47fd-948c-bd734718900f"].Contacts .Request() .AddAsync(contact); string newContact = JsonConvert.SerializeObject(NewlyCreatedContact); Console.WriteLine($"Added Contact: {newContact}"); } } catch (Exception ex) { throw; } }
public static void Run([QueueTrigger("scnewmailchimpsub", Connection = "AzureWebJobsStorage")] FullCardInfoTable myQueueItem, ILogger log) { log.LogInformation($"C# Queue trigger function processed: {myQueueItem}"); var method = Environment.GetEnvironmentVariable("CartWiselyMailChimpListId");; var key = Environment.GetEnvironmentVariable("CartWiselyMailChimpKey");; var fullname = myQueueItem.Info.Name.ToString(); var tmpFullName = fullname.Split(new char[] { ' ' }); var fn = tmpFullName[0]; var ln = tmpFullName[1]; MailChimpSub subscribeRequest = new MailChimpSub() { EmailAddress = myQueueItem.Info.Email, Status = "subscribed", MergeFields = new MergeFields() { Fname = fn, Lname = ln } }; string payload = JsonConvert.SerializeObject(subscribeRequest); log.LogInformation($"Working on Payload: {payload}"); var endpoint = String.Format("https://{0}.api.mailchimp.com/3.0/{1}", "us20", method); byte[] dataStream = Encoding.UTF8.GetBytes(payload); var responsetext = string.Empty; WebRequest request = HttpWebRequest.Create(endpoint); WebResponse response = null; try { request.ContentType = "application/json"; SetBasicAuthHeader(request, "anystring", key); // BASIC AUTH request.Method = "POST"; request.ContentLength = dataStream.Length; Stream newstream = request.GetRequestStream(); newstream.Write(dataStream, 0, dataStream.Length); newstream.Close(); response = request.GetResponse(); // get the result using (StreamReader reader = new StreamReader(response.GetResponseStream())) { JsonSerializer json = new JsonSerializer(); JObject content = JObject.Parse(reader.ReadToEnd()); responsetext = reader.ReadToEnd(); } response.Close(); } catch (WebException ex) { using (var sr = new StreamReader(response.GetResponseStream())) { responsetext = sr.ReadToEnd(); } log.LogInformation($"Error is {ex.ToString()}"); } }