[MUSIC] >> Hey, what's up? It is Michael here.
Today, I'm going to take a look at a little experimentthat I wanted to trap that would allow me to do things with Logic Apps and withsocial media posting.
Let's go ahead and let's talk a tiny bit more aboutthe problem at hand.
I'd use software that iscalled Streamlabs OBS, and that takes care of mystream and I also would use another piece of softwarethat is called Stream Deck.
So all other machine, I think I have it installed here.
So this isn't the profilethat I currently use.
What I'm currently doing isjust that I have one PC, this running Windows 10 thathandles all my streaming stuff.
Then I have this other Mac that I primarily do a lot ofmy other top of workout.
So I've separated out the stream to where my main PC is not taking, it's not taking too muchof a processing power yet.
So one of the thingsthat I wanted to do is that whenever I start a string, currently, it walksthrough this process, which is right here, it's in Twitter.
I'm going to double-click on this and you'll see that itdoes things such as, changes your name over here.
Here's the Tweet that goes out.
I'm live now on Twitch talkin Azure App Dev and more.
Come hang out with me andwe'll learn together.
Once I start to stream, I want to do things such as, I want to change the name, our profile name andyou can see it up here.
I want to change the name to put the little recordedemoji and then say [inaudible] now, and then I've got to delace it just in case it needs it.
Then the next step is Twitter, tweet.
So this Tweets the streamout to my followers.
I'd like for this to alsopost out to LinkedIn.
LinkedIn is not like abuilt-in connector here.
So for example, if I do like Twitter, you could see that things like tweet, change, name, all that type ofstuff is already available.
Also, since the softwarein and of itself, it doesn't allow you to evenadd an account for that.
So I'm going to comeback to Stream Deck.
Let's minimize thisother window here.
So if I go to Stream Deck and I even look at the differenttypes of accounts, so I'm going to Click down on this.
I'm going to Click “Add anaccount, ” I do not want that.
If I tried to add anaccount here, and again, I'm trying to host and goover here to Properties.
I'm going to go toProperties on this window, and now I'm going to Hit “Done.
” Oh, and by the way, Rainbow Rentein has joined us.
Hey Ren, what's up? So what I was doing justa second ago, was that, I am looking for away to be able to use Stream Deck to automatically post out to Twitter and also to LinkedIn.
So the current issue is that, it only currently works with Twitter and theseservices underneath here.
Mixer, Streamlabs, Twitch, Twitter or YouTube.
Whatwe're going to do is, I'm going to try to add in that functionality and I'mgoing to try to do that using the great and thewonderful Azure Logic Apps.
I'm going to close out of this, and this will leave open, because what I'd like to do is, I'd like to put another step in here.
There is a browse, there's this Website task.
This Website task is going to be what we're goingto want to use here.
Let's go ahead and close out ofthis and let's go into Azure.
I want to go portal.
Just set a marker.
What I'm currently doing is, we're going to use LogicApps to post out to LinkedIn whenever wego live.
The first thing thatwe're going to need is, we're going to need a resourcegroup and you can think about a resource group as somethingthat is like this container, of all of the different types of our services that we'regoing to put inside of it, like App Service or Logic Apps, etc.
So I'm going to go in hereand I'm going to pick one of my subscriptions.
I will actually pick this, since it is somethingI'd just plan with, in this other account, which is my Enterprise account.
This is the free moneythat I get per week.
So I'm going to go into Stream Deck.
But now, it's set to Central US.
We're going to go to WestUS and we're going to go Review and Create andwe Hit “Create” perfect.
So now, what we have is, we actually have our Resource group that we're going to addstuff inside of it.
So I'm going to scroll downand I am going to go to, there we go, Stream Deck RG.
I've got a Resource groupthat's already been built out.
Now, I need to actuallyfill it with a Logic App.
In order to do that, I am going to simply go Add and what do you think I wouldsearch for right here, Ren? >> Add Logic App.
>> Yes, that is correct.
I'm going to go create here.
So what I am doing here is I am trying to use Stream Deck, to update my LinkedIn status.
Currently, Stream Deckdoes not support that, so I thought I would just useLogic Apps as it's super-fast.
What I've done so far is, we have an HTTP postSchema that's in here.
We started creatingour own Schema tool.
Currently doing is, I am going toclean up the JSON Schema a bit.
We're going to have two fields.
One we're just goingto use for LinkedIn, we may add this in another episode.
Then the other one isgoing to be called, for example, like Twitter.
We're just going to havethese as two values.
So it can be a value of one or zero.
One means active and thatyou should Tweet about it, and one is active and youshould Tweet about it, and zero would be like no.
So I'm going to grab this JSON.
Now, I'm going to come backover to my Logic App Designer, and I'm just going to usea sample payload here.
So LinkedIn, Twitter, we can hit “Done” here.
What it did was it just went ahead and put together the JSON Schema.
So you can see we've got an objectin its expected two properties, got Linkedin Integer, Twitter integer.
If we go down here to createa different perimeter, we're going to Click on “Method” inside a method Thisis going to be a, let's see if we can justback out a method here.
We're going to use a GET.
So basically we are going tocall this URL that it generates.
I don't need a response to come back.
So this is, for example, if we wanted to send somethingback to you, you could do that.
I don't need that.
Sothat's going to be the request coming in and I'm just going to goahead and hit “Save.
” Hopefully, that saves properly, and it looks like it did.
Then we're going to havea status code of 200, which gave us this onecompletely by default.
So you can think of 200 meansit basically was successful.
You could have a bunchof other status codes, like a status code of 400.
If you had a status code of 400, well, that means itwas a bad request.
If I save this right now, and I'm going to goahead and I'm going to copy this URL out of here.
If we run this URL, we can see that it justreturned successful.
The reason that justreturns successful, is because that's whatwe typed in to our body.
So now, I would like to goback in here, Click “Insert.
” We're going to add an action.
This is where I thinkthe power of some of the Logic App stuffreally shines through.
So I could now type in LinkedIn.
There's two versionsof the LinkedIn API.
There's a LinkedIn version 1 and then there is anotherLinkedIn like a V2.
The other reason I knowabout this is that, I actually found a bug whenLinkedIn first switched over to V2.
Linked, okay, that's the onethat we're going to want.
We're going to want LinkedIn V2, and what we want to do is wewant to share an article, we're going to need to signin before it let us do that.
It has been a really long time since I actually didthis or logged in, I have been logged in for solong on one machine, it's crazy.
What we want to do is we wantto share out our string.
So I'm just going togo https://Twitch.
tv, we're going to get mbcrumb.
Obviously, we wantthis to be available, visible to guests or not, we definitely want thatto be visible to guest.
So for the title, we're going to want the tittleand we're going to want the description atleast for right now, so title of the content being shared.
So before, I was using Stream Deck and it had someat the content that I wanted.
We'll go back toconfigure Stream Deck, and I'm going to copy some of this.
What I wanted to do isI wanted to say title, title is I'm Live Now.
I'm Live Now, and I think Ineed this space right here.
I'm Live Now, and actually I'm going to make thisa little bit more specific, and I'm just going to sayI'm Live Now from Twitch.
The description of the content being shared is where I'm goingto go back in here.
Oops, that one, I don't want that.
I do want this one again, Configure, go here.
What I'm going to do is I'mgoing to copy most of this, all of this text really.
Do a Control C here, and this is the description.
So I typically do like, “Hey folks.
” We're going to go, “Hey folks, I'm Live Now on Twitch talkingAzure app development and more.
Come and hang out with meand maybe my daughter.
Ask questions andwe'll learn together.
” That's kind of mystyle, we ask questions and then we just learneverything together.
So I think that's really it.
Let's save this, and we alreadyhave the URL over here.
Let's go ahead andlog in to LinkedIn.
So I should be able to hit this URL and it shouldactually post it for me.
It did come back sayingsuccessful again.
So it did tweet it out, I'm Live Now on Twitch, but it really didn't put thatdescription in there like we wanted.
So let's take this post andlet's go ahead and delete it.
Once I delete it, I'mgoing to come back over to this and let's see if there isanother parameter that was here, Title, Description, Text of the share.
Well, maybe I wanted this, so I'm going to save this, and now, that I've saved this one, I'm going to come back over here and let's go ahead and see if this works.
So we know that atleast the API calls returns successfulby using Logic Apps.
I was able to pretty quicklyget this up and running.
Server did not receive a response.
So sometimes it does that, the LinkedIn API kicks back, if you're calling it too frequent, and I don't know whatthe frequency is.
Let's go over here.
I'm going to see myself in a browser, seeing myself withan image of myself.
That was pretty easy.
So now, I've got a URL and whatI'll probably want to do is I probably wanted totake in this URL in regenerating the SAS tokens, because now I could comeback over here into, go back into thisConfigure Stream Deck, we're going to clear that out, we're going to go back up.
Actually, we could go righthere, we're just testing it.
I can do browser or website.
Probably, I would wantto have a delay in here.
So let me go ahead andlet's drop a delay, we're going to put thedelay right there.
Delay is a second, and now, we have theability that we can access this URL completely in thebackground using this multiple task, which is pretty cooland it's pretty simple.
You saw my Stream Deck that'srunning over here on the Mac, which I'm not using thatsetup at all anymore, but over on my other main machine, I'm going to use this same URL.
So I'm going to go here andI'm going to go into delay.
Basically, I'm just re-copying and pasting all of thisinformation to another URL.
I'm going to put in the delay andI'm about to put in the website, I'm just going backand getting that URL.
Remember that URL has a SAS token.
We don't want that to leakout because that means anybody could call this API.
So you can alsoregenerate those tokens, which I may show youin just a second.
So I'm going to go back in andgo back in to our Logic Apps.
Sorry, you can't see what I'mdoing right now at the moment, and I'm going to now goback in and grab that http.
So I finally got the URL, I'm going back to website.
I'm creating the website over here on the other machine, can't show history.
So this is Stream Deck.
By the way, I don't know whatwas necessarily the best way.
This is just me playing around, at least for the moment, and I'm also going tograb website here, this is going to be LinkedIn.
Let's see how wellthis actually works.
I'm going to close this one.
I'm going to come backhere and I'm pretty sure that there is some limits.
I know you can't dothe same exact thing, so we'll need to delete that.
I'm going to refresh my history.
Once I refresh my history, so it shows that.
So now, I have created that button.
So I'm going to goahead and I'm going to press that button, okay I did.
I put it to access in the background, I put it in the background.
So let's go to Stream Deckaccess and background.
Maybe I can't access it that way.
So I'm going to try another way.
I'm getting those rate limits again, let's go back overhere to the Designer.
You should be able to see that it has failed a couple of times here.
If you look at the status, content is a duplicate ofanother URL that was shared.
So we could actually fix this very quickly by coming into themessage and tweaking it a bit.
Again, I'm going to keepthe access in background.
So if we come back over toour Logic Apps and we go to LinkedIn Updater and wego to the Designer Mode, I'm Live Now on Twitch.
Let's just change this one little bithere, the and more.
Let's save this, and now we'llhave a totally different message.
LinkedIn's API, it sometimes takes a little while forit to be updated and completely cleared outof the queue even though that status isn't there anymorebefore the API will return, it's not duplicate content.
I think you got to wait like aday or so.
So let's try it again.
I'm hitting the button on my StreamDeck called LinkedIn Updater.
It's going to basically hit this API.
There it's exceeded, so now, we should be able to see it.
That was pretty cool, that was pretty fast since theStream Deck did not have a way to configure an account for LinkedInsince all that it supported was, and I don't need that, all thatit is supported was Mixer, Streamlabs, TwichTwitter, and YouTube, also wanted to pose to LinkedIn.
So I was able to do thatsimply by going to Azure, creating a resource group.
Once I created the resource group, I used a Logic App and I did a “When a HTTP request is received, ” thisis for maybe some future use.
Right now, I'll put inLinkedIn's expecting an integer and then Twitter's obviously expectingan integer as well.
The method here, whichjust simply a GET.
So that means when you hit the URL, we need to get a response, and this one came with it.
I use this template.
So status code 200, everything went perfect, everything went fine here, the body just says successful.
Then I used one of the connectors.
So there is a ton of different connectors that'sabsolutely that's out there.
So what it did was, I clicked LinkedIn V2.
I gave it the URL, I want it to be visible to everybody.
I gave it a title and alittle bit of text here.
After I saved this, this right here is the GET URL.
So I was able to copythat GET URL over into my Stream Deck Configurationas just simply a website, I pasted in the URL thatcame from Azure Logic App, and then I just selectedAccess in background.
Now, I'm able to update my status to LinkedInwhenever I get online.
That was actually pretty cool.
I do appreciate those whowere hanging out with me.
If anybody's got any questions, I'll hang around for a minute or two, but that is primarilywhat I wanted to.