 Hello, everybody. Good day, good morning, good afternoon, good wherever you are. And I'm happy to have everyone join us today. We are doing our second installment of our Git Microsoft 365 certified or developer certified. Today on our second installment, we are focused on Microsoft Graph. So I'm really thrilled, glad that everybody is joining us today. I'm really thrilled with the response that we got from the one that we had two days ago, where we focused on Microsoft's identity. So I'm really looking forward to doing this one with you again today. Curious, just how many of you joined us? If you want to raise your hand and zoom, how many of you joined us yesterday? So getting a whole lot of hands up. Look at that. It's great. Okay, you can put all your hands down. And you can put them back up again. And you can put them back down again. All right, cool. That's awesome. That's your developer calisthenics for the day. We always have to start, you know, get our developers to do more than just kind of moving your fingers around. All right, so let's go ahead and get started with today's session really quick. My name is Andrew Connell. I'm going to be your host for the webinar today. I've been doing my background in this whole thing is I've been doing a SharePoint development for about 1718 years now. I've been doing Microsoft 365 development or Office 365 development now for well really since it came out. And I spent a lot of time both in well in SharePoint framework, spending a lot more time recently in Microsoft Teams based development. And then both of those you're always using things like Microsoft identity and the Microsoft graph. So I'm really got a lot of experience with those as well. Those are four of the five workloads that we have in the Microsoft 365 certified developer program. The fifth one is office add ins. Actually, I'm going to get ahead of myself. Let me finish the intro real quick. I'm also an MVP. I'm also an MVP for office development. I've been an MVP since 2005. I think it was maybe 2007 started out doing something called Microsoft content management server. If anybody's heard of that, then I did SharePoint, then I moved in for a while. I was listed as office apps and services, which means I'm an IT pro, which is could not be farther from the truth. And they finally fixed it. Now I'm office developer. I also have a podcast that I co host with a guy named Chris Johnson where we have weekly episodes about the Microsoft cloud. And then I also have a SharePoint framework online training course developer training course that I offer through my company, boy, Tana's. If you're interested in that we're doing a special deal for the mother may 30% off on our fundamentals bundle. And then we're running a special thing as well for those people who have been hard hit by the global pandemic. If you've lost your job, if you've been furloughed, if you've had your hours cut, we want to do something to help out. And so not only are we doing the 30% off, but if you've been affected and lost your job, then I want to help get you skilled up so that when the economies come back that you can hit the ground running. And so we're doing our deepest discount we've ever done 60% off. It makes my, it makes the course that's normally $449 drops all the way down to 179. We're doing that deal throughout the month of May, as well. We just need a little bit of proof that you aren't like scamming us and that you truly are, you know, you've lost your that you that you are truly affected, but your job is truly affected by it. But if you're interested in that stuff, then you can definitely reach out to me through Facebook Messenger or and the Facebook Messenger just send us an email and we'll definitely we can definitely get you hooked up. The other thing that's cool too is that 5% of all of the revenues that we get in the month of May will all be donated to local food banks. So we've already donated up to, I think it's our donations already up to 1500 meals is what we've done so far, sorry 1400 meals is what we is what we've done so pretty thrilled with that. But you can see how to contact me if you're if you're interested in those things you tuned in though for the content of the webinar so let me focus on that. Let me first start this webinar today with an overview of what the certification is what the exam is let me answer a couple questions. I know that if you guys tune in some of you tuned in for the previous webinar and if you tune in for the other ones. I'm going to do this at the beginning of each one and explain what the exam is and what the certification is, because not everybody's tuning into all of them. So, please bear with me we're going to get to the Microsoft graph in just a minute but I need to make sure I cover this for everyone. Microsoft 365 developer workloads specifically developer workloads the things that Microsoft focuses on, or at least related to the certification and the exam are these five workloads. Microsoft identity which really is just Azure AD, it all Microsoft identity also includes Microsoft accounts, but we're not interested in those today we're only interested in my and Azure AD, because that's what is really related to the Microsoft 365. We also have Microsoft graph. That's what we're covering today that is the API for everything that you're going to want to get to inside of Microsoft 365. SharePoint is another one of those specifically SharePoint online we will look at that in a future webinar Microsoft teams. That's another one. And then the final one is office add-ins. Those are the these are the five separate workloads that Microsoft is focused on. Little footnote when I say office add-ins I'm not talking about those SharePoint hosted or self hosted or SharePoint hosted or provider hosted add-in. We're talking about the extensions that you can build for office clients like Word, Excel, Outlook, PowerPoint, and how you can go through and extend by creating custom task panes or content add-ins, or like in the case of office, sorry in the case of Outlook, compose and read add-ins for new emails or messages and calendar invites. So these are the five workloads that we cover in this. Now you're probably wondering, well, why would I want to listen to this guy? Why should I trust him talking about the certification? Well, for a couple reasons, right? Now we are going to do a webinar at the very end of this entire series. The very last one is a behind the scenes. So you want to see how they or hear how they really do this. I'm going to pull back the curtain and share with you everything I'm allowed to share with you on how Microsoft creates one of these certifications. Because I was heavily involved in helping them not only develop the content or the topics that we're going to be, that you're going to be tested on, but I've also been involved in helping them build content, learning content for it, which I'll go through in a minute. Hey, while we're going through this, just a little bit of housekeeping. If you got a question, please feel free to post a question to the question and answer panel. I will address those as they come in if they're related to specifically what I'm talking about. Otherwise, we'll get to the very end and we'll answer all the questions. If you are posting questions in the chat, I can't promise that I'm going to see those because those, a lot of people just have like are just, you know, making comments during the session. So if you're talking, if you have a real question, I really recommend you put it in the QA panel to make sure that we're going to see it because that's where I'm going to focus on stuff. This isn't like a hangout session. So I'm not going to, I have the chat up, but I can't keep up on it the whole time. Okay, so again, why would you want to trust me on this? Well, I've taken the, and not only did I help you, I've helped build the certification, but I've also taken the exam. I was not involved in writing any of the questions. I wasn't allowed to. That would have been a conflict of interest, but I have been involved in, I was involved in helping figure out the topics that were going to be covered. These are the results from when I took it. So I took it back at the beginning of January when the exam was still in beta. And what they do is they have an alpha phase and a beta phase, and then they have like the GA phase, kind of software. I wasn't allowed to take the alpha in the alpha phase that was part of a, what do you call it, was kind of a conflict of interest. So they encouraged me to take it during the beta phase. So I jumped in, I took it, the beta was really just, they were, they wanted to get people to take it because they have a, and I'll explain this in that last webinar we did behind the scenes, but they do have a very scientific process in figuring out our questions good or bad, based on what people's results were with those certain questions. So I had to answer a bunch of stuff up front to kind of explain my experience. And then, based on my experience, they should have been able to say, okay, this person should pass or they should do well in this section or should do well in that section. Let's see how they do. The beta is over so you can't go take the beta again. It is now available for GA or generally available and anybody can go take it now. I mean, I passed the exam. So I am Microsoft 365 certified developer associate, you know, explain what that means in a minute. But I wanted to show you just so you know you can trust me and like where I am and being completely transparent, you know, where did I do well where did I not do as well. And you can see, you know, Microsoft Graph, which is still ironic to me, I did the best in the Microsoft Graph section which is what we're talking about today, which I would have expected I would have done really well in SharePoint, which I was I was a little embarrassed. I was like, wow, I did better in graph than in SharePoint. So, hey, whatever, still work. In order to pass, you have to get a 70% on on the entire exam. So as you can see here, I mean I got better than a 90% on most of the sections I think I got like a 96 in the graph section. But like in office, I was just below 80% in that one I think it was about 75% on that one for office add ins. But you can see there just this my experience is building this and I'll dive into this and a lot more depth as well. When we do that last webinar on the behind the scenes the sixth one in the series so we'll do that in what I think it's two weeks from today, I think is what it is. Yeah, it should be right. Okay, let's talk a little bit about the exam and the certification and just how this whole thing is structured. Okay. The exam is the exam is called is the code for it is MS 600. And it is called the building applications and solutions with Microsoft 365 core services. You can see a link to that if you just go to that first link right there that's a case sensitive link so make sure it's VTS IO slash MS 600 exam. That is that link that is all about where you're going to learn more stuff about the exam. It's going to include a link to a skills assessment which is going to be some of the stuff that I'm going to cover today. And some of the stuff that I'm actually working on for the for the. Oh, sorry that some of the stuff that I'm working on and still working on for this and what I use in the basis for some of these different webinars. That skills assessment is also part of. One moment. I totally screwed up there. Now my audio should be a lot better. I apologize. I totally forgot I have my microphone out and everything but I forgot to turn it on so my webcam was catching my audio that should sound a little bit better. So I apologize for that. A bit of a rookie mistake right there now I see why someone was saying I didn't sound so good. I wasn't in the bathroom I promise I didn't do the Supreme Court thing that happened yesterday where someone was doing Supreme Court. Well, whatever. Okay. Let me go back on my slide. Alright, so. Yeah, so that's the exam so what the way it works is that once the only prerequisite for the course or for the certification is you have to pass that one exam. Once you pass the exam, you are then certified. So the certification is called the Microsoft 365 certified developer associate I'll explain why why it's called developer associate in just a minute. But you don't to get that certification you just have to pass the exam is the only thing you have to do right so it the exam is all you really care about. Okay, that's really all you care about when someone when you when you want to put it on your resume I would put the actual certification on there and not the exam exam is really what you need to focus on in terms of what do I need what do I need to do. Now, let me explain a little bit here about how Microsoft is measuring how Microsoft learning measures developers or it's a group in Microsoft called worldwide learning WWL. And what they do the way that they measure developers is they say we have three different levels you've got the foundational level you've got the associate level and you got the expert level. Now they have their definitions and these definitions I'm going to give you are very close to that but I find it these are a little bit easier to understand because they use all these other ways of classifying it foundational. That is somebody that if you're familiar with the Microsoft roles that different employee roles and you've ever worked with somebody called it that's been labeled a TSP, a technical solutions provider. This is like a technical sales person or this is somebody who I could if I was foundational in my knowledge, then I should be able to walk in to a customer. They have some questions about some stuff so we're talking about graph today so let's use that as our context. I walk into a customer they have here's the thing that we want to solve and I can say, yes, we can do that with the Microsoft graph they have these different endpoints here's the things that we're going to talk about. I would be able to say things like, you know, you're doing you want to do this thing with SharePoint administration. No, you're not going to be able to do that with the graph API is they don't do that they focus more on lists and libraries and sites. They don't go and talk about how do you create site collections and new tenants and stuff like that. So, I would at least have knowledge on being able to say what is possible what is not possible. I would understand the things like oh yeah that not every single permission out there has a delegated option and an application from an option as well. I know what things like the Microsoft the the graph Explorer tool I know what that is. I know those kinds of things I know what SDKs are available and generally and stuff like that. And I could help design a system for someone design an application. On an iPad or on a cocktail napkin or something like that. But as a foundational person, I may not be able to sit down at my laptop and start building an application that's going to use Microsoft graph. My knowledge my experience level might stop right about there. Right. Somebody at the associate level is someone who has been working with the technology. It should have an experience and working the technology about for about four years. Right now I know that that that's that is not a very exact number because if you look at some of the other things you're going to get tested on with the exam like Microsoft teams and SharePoint framework. They haven't been around for four years so don't take that literally but just think that if you if you do somebody you know you're looking at their resume and they said I've been driving for four years you're like okay you've been driving for four years and you generally understand the rules of the road and you've been through some pretty good experience. Right. It's very different from somebody saying I've been driving for four months. And that's kind of what they're looking for this kind of a person should be able to not only design the system but be able to sit down and actually build an application that uses Microsoft graph and be able to say and know things like I need this permission or I need that permission or that's not going to be possible without an application permission which is going to mean we're going to get a global tenant administrator to approve this is stuff like that. Okay. The next level up is the expert level and expert is somebody who can teach that somebody who can sit down and they can teach somebody to become an associate. Okay. Now, the way you're going to be the way Microsoft is designed to test you the way that they built this certification is at the associate level which means they're looking for people who have that for your experience. This is a little bit of inside baseball and it's a phrase that we use. It's a It's a phrase used to kind of say here's like some behind the scenes kind of stuff right when we sat down to do this. And they explained to us here's what we're going to try and do. This is more depth in the last web in the last webinar. But we I was of the opinion that there was no way that we could have an exam that tested you at the associate level at all five of these different workloads. Because in order to have an exam that does that Microsoft has to have a class that they can sell you or sell to partners that they can then go sell to customers to where they can sit down and they can get that experience. And based on the things that we're going to be tested on, I was of the opinion as long with a bunch of other people including people from from the different product groups. That was going to be impossible because you're going to have a class that was going to be three or four weeks long. I know how much how long it takes to get associate level certified at the SharePoint level and that that's not that's not just a two or three day thing. So what the idea was what when they originally when the exam was kind of designed. It was your your you're supposed to be associate level at Microsoft identity and at the graph Microsoft graph level. But the other three workloads SharePoint Microsoft teams and office add-ins are supposed to be more at the foundational level. That's where it was supposed to work out, but I can tell you from my experience there were questions on there that were at I would definitely put them in the associate level for everything in the course. Right. When you're being asked about specific API's I can't. I can't see that as being a foundational thing I would never ask a sales person to do that. So that's the level that you're going to get tested at. Okay, before we dive into this before we start talking about one more thing. This is as I mentioned a couple of times this is a one of six webinars that I'm doing on a series called get Microsoft 365 developer certified. This is the second one we did one two days ago on Microsoft identity. Today we're doing Microsoft graph I've got one on SharePoint Microsoft teams. I got office add-ins and then we've also got one on behind the scenes you see all the dates listed there. If you missed the one from the first from that we did earlier this week it was recorded and available for you to watch on demand. And you can also go register for all the additional ones in the future. Go to that link at the bottom of the slide. I've color coded it because it's a bunch of words put together and I made sure that because these the short links are case sensitive. I made sure everything was lower case and I just color coded it just to make sure it was easy to read. So it's basically vtns.io slash get M 365 dev certified series. You go there it takes you to a blog post on the boy Thomas blog that has that I will continuously update that will point to a link to where you can watch the recorded version or the record recorded instance of the webinar, which I'm posting about 24 hours ish. After the webinar concludes and where you can where the links are where you can register for any of the additional ones you when you register for a webinar you only register for one you don't register for all of them at once. Right so it's one by one by one. Okay, now, before we get started, I have a question for you. I'm curious how many of you are planning to go get certified and go take the exam and become certified. I'm just curious maybe some of you are going to do it maybe some of you are like going just tuned into this is I want to see what this is all about. I'd be curious you know there's a poll that's that's shown up here and the zoom clients and make sure you vote on the poll. It'd be I'd be curious if somebody was like no I'm not about to take this exam like why are you tuning in here. So, I don't know. Okay, so let's leave this up for another 765 seconds here to see we got about see how many people at 73% people have voted. Okay, three, two, one, and we'll wrap the poll up right there. Alright, 70% of you who are joining us today are saying yes, I am planning on taking this exam. The other 25% are saying or sorry the other 30% are saying maybe no one is saying I'm not taking it or I've already taken it. So I should have voted because I have taken it. But anyway, okay, so that's it. Now we're going to come back I'm going to ask you about this in a second you see all these. Let me ask you one more question here actually two more questions. So you see here we've got all these different workloads, right and all these different workloads. Now let me ask you two questions here again I just posted another poll on the on the webinar. Of all five of these different workloads. The first question is, which one are you the strongest at. And the second question is, which one are you the weakest or have the least amount of experience at. And be honest, these things are anonymous I can't tell who's who's answering what I'm just trying to get a beat on what the responses are. No surprise a lot of most people Wow bias overwhelming margin here. SharePoint is is by far the winner of my goodness we're way over 90% on SharePoint for the strongest stuff. All right, so we'll come back. See let's leave this open for another like 10 seconds here that 70% of you voted come on let's get up there let's get up there let's have a really good showing. We won't have a good turnout right here in the United States it's elections it's election year we were voting for. We have a presidential election in November so we want good turnout we want everybody to have their voice counted. And let's go ahead and stop it now okay so great votes we got 70% 75% of you have voted over 95% of you said SharePoint is your strongest 3% said identity. Not surprising only one person said graph is the strongest thing for him so you're in a great spot today everybody else is in a great spot today how's that. Now the weakest. This isn't surprising this is what I see a lot of over 60% of you said that office add ins is the work is the hardest me share these there you guys should be able to see that. So, where is it office add ins is by far the the one that you're the weakest at I get it totally get it. And then from the next two are kind of a tie between identity and graph they're about 15% a piece. Cool. All right, so let's go ahead and dive in let's start let's let's go ahead and let's start diving into the content here and let's look at what we've got. Let's look and see what we're going to do here with my with with graph. Okay. I did see one question let me answer that question before we get in here so Mark's got a question says do we look at security and compliance and any of the workloads keen to understand the complexities of activity and protection alerts as well as DLP. No, none of the stuff none of that's covered in any of the in any of the exam or the certification. Remember, this is a developer certification it is not an it pro certification those would all be considered. Administrative slash it pro slash architecture things. Those are not developer topics and you will not you do not have to know anything about that stuff, or like in tune or DLP or any of that stuff. Cool. So, I have another question came in somebody asked why are add-ins considered the least in the survey I don't get it could you explain why you get it. So, so office add-ins the reason why I say that I understand that office add-ins are the, the, the think people are the weakest app is because that is the of all the apis that we see people working with an accessibility things that we see working with of those five I we we generally in the community we generally see the fewest developers building extensions for office clients. That's all I mean by that in my experience that's what I see. Some people, you know, may do it a ton. But in the, overall, we don't see many people end up building extensions. That's the only reason I say it like that. Okay. So we answered that one and let's see. Don's got one more question here. Let's do, let's do one more before we dive into the content. This will be the last one for a little bit. Don's asking as primarily a SharePoint framework developer. I feel like I should refactor my services to use Microsoft Graph instead of the SharePoint REST API pros and cons. You know what, let's do that at the end. That's a longer discussion. And I'd rather do that one at the very end. So we will come back to that. But not right now. Got to stick around the end on. I have an opinion on that, but we'll go. Well, I want to make sure I give you the full story. Okay. As far as the certification goes, let's talk about language. Let's talk about what kinds of things you need to know. I said I was going to go over that in the when I when I when you registered for the webinar. So I want to make sure you understand what these things are. The Microsoft Graph questions are going to account for about a quarter, about 20% to 25% of the questions are going to show up on your exam. What you see on your exam may be different from what somebody else sees on their exam. There are a pool of questions and the testing platform figures out a randomized question to ask you. All right, and it does things. It kind of like learns what it should be asking was an adaptive kind of a test. Okay. These questions you so some stuff you may see that your friend may not see or vice versa. So you need to know the Microsoft Graph SDKs primarily they do not test you all that much on the rest API endpoints of the graph SDK of the Microsoft Graph. Now you do have to know some stuff about the rest API but not the intricacies behind it. And I find this interesting because as you'll see is some of those topics I'm going to go through. You really do need to understand how the rest API works but the questions that you get. Don't really reflect that at least from from my experience and taking the question taking the exam. Another thing to when it talks about I don't have this on the slide but when we talk about languages. For the most part, it is almost entirely.net core is what you're going to be is the code are the code samples that you're going to look at when you're in the Microsoft Graph section almost entirely.net core. There may be a little bit of type script ish or JavaScript ish stuff that shows up, but not really all that much. If, if I'm correct in my recollection and from the notes that I took after the exam. I think that the only thing related to like JavaScript and share and Microsoft Graph was coming from the SharePoint framework section of the exam. Okay. The other thing too about the exam that's kind of nice as you you the bank of the questions all stick to one of the workloads at once so you don't have like a graph question and then a SharePoint question and then a teams question maybe another teams question. And moving things around. It doesn't that it doesn't work like that. It is you kind of get all of your identity stuff you get all of your graph stuff you get all of your SharePoints, you get generally you get through a section and you move on to the next one. Right, which was kind of good because I know when I got to the office add in section I was like oh my God and just kind of like I'm getting beaten up and getting beaten up and oh now I'm back into SharePoint here we go I'm going to SharePoint we're good. As far as options for like self paced learning. I got a link there to a learning path that I actually built for Microsoft. That's up there so I Microsoft hired me to build out their self paced learning for the entire for the entire MS 600 exam. So I was involved in helping define the topics that people should be tested on and I was involved in building the self paced learning. I was not involved in writing the questions for the exam that would have been a conflict of interest. And I was also not involved in writing the instructor led course that Microsoft sells for the exam. Not only would that have been a conflict of interest, but furthermore, and you'll see why in a few minutes. But furthermore, it is that is that man their requirement to write that course was was ridiculous they wanted it done in a ridiculous amount of time and there was just I was like there's no way you can do an adequate job in the limited amount of time that you guys have. And it was we have to release it by this date like I don't work like that. It's you can get it done, like a person can have a baby in nine months, put two people on it still going to take nine months. Okay. All right, so I see a couple questions coming in about the exam itself. I'm going to we're going to punt those for a bit let's focus on Microsoft graph for a bit because that's what we tuned in for and I'm happy to go into those questions. If we have time for him at the end. Let's talk about what you're what's going to be covered on the graph in the graph section. So there are a couple of main themes that you need to be aware of, and this is one of the ones that goes back to what I was saying a second ago, that you need that they only are going to really test you on the SDK, like the dotnet SDK for Microsoft graph. And they don't really test you on the rest API so much, but there will be questions that you really do need to know the rest API. So they kept pushing all the time they kept telling me I was right in the content it's like, you need to focus on the STK focus in the API. And they're like, yeah, but they have to know this too. And that's like what they call query parameters. Right. These are O data operators that we can use and these are ways that you go through and you essentially are doing like the select the where clause, the order buys the filters. It's all that stuff that you're that you're that you're going to be putting in to your queries if you're writing rust rust based queries. Okay. You need to know what the select parameter is what is that right that's allowing you to say I only want these fields to come back if I don't put that in my query. Then I'm going to get a default set of data come back to me right what am I going to get what depends on the entity that you're going for if you're trying to get a user, you get specific things. If you're going for this other thing, you're going to be getting specific things and it really does depend on it really does depend on what your It really does depend on what your, your, your setup is. Okay. Now, nothing you know is that is the filter query parameter now it's the second one is first one on here should have been the second, but the filter this is how you're going to be able to do like a where clause, like a normal SQL statement where clause. This is where you say I only want people whose last name starts with the letter C, or I only want people who are in the marketing department, stuff like that. And so you need to understand how to use the filter parameter to write queries using the SDK and using their fluent API on how to get only subsets of data coming back. You have to know how to order the results that you get back how would you control that how do you sort them. I want to get things in a sending order or descending order by a specific field or I want to do it on multiple fields. How do you control that using the order by query parameter and with the equivalent SDK thing. How do you do paging with the results that come back if you go to query for if I've got 10,000 people in my organization, and I say give me all the users who start with a letter C, am I going to get everybody back. How do I know that if I did I didn't get everybody back. How do I say I only want five of those people back. Okay, well what if you're on page four of the data how do I figure out what page I'm on how do I how I only get certain data back from Microsoft graph on a page by page basis. You're going to do that using the skip parameter and the top parameter top is going to say give me just five records back skip says you're on page three, then start at number 15 and get me. Oh, sorry start on number 11 and get me the next five. Right because 11 through 15. That's the that's page three. You have to know how to use that stuff. You need to know how to use see a question that just came in and I just said that you also need to know how to expand related entities. So for example, there's a user entity and that user has a manager. Well that manager entity is actually a user object. But when you say give me all the information about Andrew, it doesn't automatically expand his manager is his wife. Oh, true story. And he doesn't so it doesn't it doesn't show me what her name is, it just has a record to that somebody over there but I can in my query, say, expand the manager entity and give me the user object for Meredith. Right. You can also retrieve the total count of all the matching resources that come back so instead of saying, give me all the users that is let his name starts to letter C, and then you get this giant result set back, or the max result set based on the number items, but you don't need all that data you just want to say how many do I have. And instead of that you can tell Microsoft graph just give me the sum of all of those people. Don't, don't make me go create that. Don't make me do that for each individual one. And what that allows you to do is that will allow you to save from having a whole bunch of data coming down and slowing your application down. Right. And you also need to know how to do a search some not all, but some resources, some entities in Microsoft graph do support search. And this one's kind of interesting. I don't, I don't think the support for this is fantastic. But I think that you are you need to you need to make sure you look at the SDK to see what entities do support searching and really just understand how to use search. Right. So when you go and you look at the search endpoint I would look for the in the in the docs if you look for the search endpoint page in the graph docs, it'll actually point to hey here's where you go to hear some examples, focus on the examples wink wink. You also need to determine the appropriate SDK that you want to leverage. What do I mean by that. This is a really simple one. If you're using JavaScript or TypeScript, you want to use the JavaScript SDK. If you're using dot net, you probably want to use the dot net SDK. But if you're in Python, guess which one you're going to use the Python SDK. Pretty easy huh dead giveaway. Okay next thing. This is a big area that they really wanted they really want to focus on the exam, because if you've been working with graph in the last year or so two years. You know that throttling is an issue, or it can be an issue. And at least it's a, it's definitely a topic. It's definitely something you want to pay attention to. So, what they have this section here on optimizing network traffic. So you need to understand really two different aspects to this. Number one, let's say actually it's, it's three, you need to know three aspects to this. Number one, you need to understand what is throttling, and how do I identify when I'm being throttled, like why am I being throttled, how do I identify it's happening and how. How do I, how do I, how can I tell when the app is actually doing that what does it mean. So that's one major thing you need to understand. Another thing that you that you need to understand related to throttling is how do I deal with it. How do I deal with it within my app. How do I. How do I like, how do I mitigate it. How can I, if I am throttled, like, sorry, there's, okay, let me start with the section for a second, there's three things you need to know. Number one is what is throttling, how do I identify that I'm being throttled, and what triggers it. Number two, if I'm being throttled, how do I, how do I deal with it how do I handle it, should my app just break. God no I hope not. But how do you deal with it how do you gracefully deal with it and how can you make sure that things that that your users that you can communicate that to the users of your app. And then number three, how do you mitigate it like how do you how do you avoid from being throttled. Right. You really should strive in your apps, in my opinion, you should really strive in your apps to number one, don't do things that are going to get you throttled. But number two, you really need to make sure that it, if that you are detected at your monitoring to see if you are getting throttled and if you are how do you mitigate it, or how do you address it. Right. It's like any kind of development stuff. You shouldn't write bugs, but you're going to do it. So you should use try catches and you should deal with exceptions. So how do you do this. So you should in the category of how do I avoid them. Use these things called change notifications. Well, that's what they call them, which I can't stand the name they're really webhooks. So the group you can subscribe to graph and say, let me know when the when any entity in this collection changes or is added or deleted. And when what that will do is that will then call out to your endpoint and let you know something changed. Now it may tell you that what change may tell you what the change was, but the important part is it's going to tell you when something changes change. And the nice thing about that is that's going to allow us to not create an implementation that's going to pull Microsoft graph for what's changed what's changed what's changed and have to do that like every five minutes. Instead, you should understand how to deal with that like where the best practices are and dealing with and being notified when things change. Second of all the other thing that's going to let me let me skip one and go to the third up the third thing there. You should also know how to when you call Microsoft graph, how to say don't give me everything, but just give me the things that have changed since the last time I called you. And so that's a tech, a technology called change query or Delta query and or track changes they use all these different names really Delta query and track changes. And so what this is going to do is you need to have a way to go through to pull to see what happened with that data. Okay. The second one on the slide there is combining multiple requests. And so instead of sending a lot of one of the things that can cause can trigger throttling is lots of traffic back and forth between you and Microsoft graph. And what you can do to avoid that is instead of making your app very chatty if you're doing a bunch of things like I need to create for users, and then get a list of all the users, or all the counter items. Then I can say instead of doing five requests which is create a user, create a user, create a user, create a user and then go get issue a get request. I could instead say, let's do one request that does all five of those things inside of it. Send it to graph. Let graph do that work. He'll have one response that he gets back and then I can parse that response out and so it's a lot less traffic back and forth. You need to understand how batch works. You need to understand not so much about batch at the rest endpoint how that how you do it there, but more with the SDK. But I will tell you that there could be a question about the rest endpoint and using batch with rest endpoint. And then finally, you need to understand how to implement and how to deal with 429 and specifically I mean by creating a 429 handler. Now how do you do what is that so we're not going to get into the all details of how to go about doing it but 429 is the HTTP status code you get when you're being throttled. You should. There are a couple different patterns that you can implement. And you should know how to do that but then you should also know how to use the SDK, which will do all that for you. But don't think that the SDK does it. I don't need to know how to go about doing it. You should know how to do it. Okay. All right. Let's see. So we answered that question. I'm going to dismiss that one. And I've already gone through some of that stuff so I'll come back I'll come back to questions in a minute. All right. Now there are three specific endpoints that Microsoft Graph is going to that the exam focuses on they don't go they don't cover everything they only cover three specific endpoints or entities users files and groups. Those are the three different ones you want to focus on all the other ones you can completely ignore like calendars you can ignore it email you can mostly ignore that. I'm blanking on the other ones but those users groups and the third one that I just forgot that I just mentioned a second ago files exactly good testing you guys. Seriously, no. So let's talk about users. How do you get a reference to the currently signed in user from Microsoft Graph. You need to know how to do that. How do you get a list of all the users in the organization, you know how to do that. This is the part that gets tricky. How do you get the users, a specific users profile photo and how do you change it. It's not as intuitive as you might think if you haven't done that before make sure you studied up on that one. How do you get the user by a specific user. What are your what ways can you do that can you do that through an ID, what ID, the you ID, the object ID, their email address. Make sure you know how to do those different things. And then how do you get the users managers profile like I mentioned earlier how do I get that related entity. Those are things you should definitely you should definitely definitely need to know when you're working with files. Right. This gets this gets a little tough. You need to know how to get a list of all the files and the users one drive now. Again, remember that Microsoft Graph covers both consumer services like one drive consumer, and it covers one drive for business, right, and Microsoft 365. But remember the Microsoft 365 certification exam and certification is all about 365. It's not about consumer. So you don't need to worry about working with consumer stuff only focus on on one drive for business. Okay. So how do I get a list of all the files for the currently signed in user from their one drive for business. Right. How do you download a file from them. If you have a specific file you want to download. How do you download a file, not just from their one drive, but how do you do it from a SharePoint site, because SharePoint document libraries are just one drive or one drive. Sorry, one drive for businesses just SharePoint document libraries. So you need to understand, well, we how do I get a file if it's in SharePoint how do I get a file that's in one drive. Right. Make sure you folks make sure you study up on that. How do I get a now here's here's something we have two insights based things. How do I get a list of files that are trending around the current user stuff that they've worked on, or stuff that people that they work with that they're working on. And then let's see let me skip one. How do you get the user object from the owner list in a group and retrieve that users files they get so how do I figure out from a group, who the who the owner is of that group and get a list of all their files. And this is it's a scenario kind of a thing you should know how to go about doing that. Now here's another one here. How do you upload a file to one drive, not just any file. How do you upload a small file and how do you upload a large file and what constitutes a large file. You should know how this works. You should know, not even though I said it's mostly about the SDK, you should know how to do this, both with the rest API, and with the SDK. Right. There's some cool tech that they released at the end of 2019 that will be included on the exam that is mentioned on the exam. But there's some cool stuff that they've done to make this uploading of large files a lot easier and creating like a reasonable session type thing. So make sure you focus on that. I think this is my last one. Yeah, so this is the last the last subject matter will go through and then I'll answer some of the questions we get. How do you deal with groups and specifically how do you do with like the group life cycle. Right. And so what is a group. You understand like what an office 365 group is, and what a team is like a like when you teamify an office 365 group and what the difference is. So how do you get a list of all the groups in your org. How do you get information about a group by its ID. How do you get a list of the owners and the members in a group. How do you get a list of all the groups that the user the currently signed in user is a member of or is an owner of how do you create a group. How do you teamify a group, and then finally how do you delete the group, you should understand how to do all of those different things. Right. Pretty much from the SDK, pretty much just from the SDK. Okay. And yeah, okay so there's that that's all the stuff you need to know about groups. We've got a bunch of questions here. We've got about 11 minutes left. And I'm happy to run through all these questions. It's going to take me a second to get through them. So if you got a question I'd strongly recommend you post in the QA panel but I am going to we are going to cap it at the top of the hour or bottom of the I always forget which one that is but whenever the hour is over in 11 minutes. So let's get going actually before we get going to that. There's one thing I do want to ask you guys and kind of a selfish question that I've got here but So I will one quick explanation so I, if you're not familiar with me I have I'm a SharePoint framework developer and my company boy Thomas I have a SharePoint framework development class that I sell I mentioned at the beginning and it's all on demand all video based class. The class is almost complete. And once it is complete. I plan on working on a and releasing a like a boot camp kind of thing for the M6 MS 600 exam on how you can get ramped up how you can study for it. It is not going to be it I'm I don't I can't tell you exactly how much it's going to cost or how big the class is but it's not going to be a gigantic class. It's not going to be very expensive. The reason why I say that is because Microsoft hired me to build a bunch of self paced material. I don't plan on rehashing all of that material. In fact, I'd rather just point to that material and just give you the other stuff that you need to know that the material doesn't cover because I know the material that I wrote for the for the for the course and then I've also I also know the questions that were asked and I know the things that were not in the material that they asked me to write that you will be on. So I want to make sure I go through all that stuff in the course. So in doing that, I'm just curious. I'm posting another poll. Is that something that you would be interested in. I totally get that there's a well maybe it depends on how expensive it is not I tell this is not a commitment. Okay, it just helps me I'm I'm a I'm an independent like one person company type thing and this just helps with planning and stuff like that and I really just do appreciate it so my only ask of you today is just let me know what you think. Okay, so let's go through some of these questions. Let's see. So Don asked a question a little while ago and he said, as a primary as primarily a SharePoint framework developer I feel like I should refactor my services to use graph instead of SharePoint rest, any pros or cons. So this is a big question, and it really doesn't deal with the exam and so I don't want to. I really should have said earlier when I punted this that I don't want to I don't want to dwell on this too too much. But it depends. There if what you have right now works the SharePoint rest API, then I wouldn't change it. I've had this debate with the with the team the graph team and they say well the SharePoint team doesn't ever push using our API like well here's the problem if I want to use the SharePoint rest API, I don't have to go do anything with special permissions. The user has permissions or they don't. But if I want to use graph, I have to go rewrite my code and I now have to get an administrator to grant my tenants permissions to use the endpoints that I want to talk to Microsoft Graph. That's that's a burden. Why would I want to do that well because you're going to be using the same you can you can have relationships between like a user and some data they have in a list and then data and then their user information as well that you can get from Microsoft Graph and you can do relationships a lot easier than having to jump between multiple APIs. Fair point, but if you're just getting data from SharePoint lists. I don't think there's really a reason to do it, but that's just my take on it. Okay, so Rune's got a question. Can you elaborate more on the adaptiveness of the exam doesn't identify your weak spots and grill you more on that. No, it doesn't do that. It's just more that it if you if so I can't speak specifically to this because this is this is like proprietary stuff for Microsoft and I can't go into detail on it. But where I said that there's 20 to 25% of the questions are going to be on graph. Depending how you're doing, you're going to get more or less. So if you effectively are have proven think about it like this. If I've proven if I ask you a bunch of questions like do you know addition and subtraction. I'm not going to ask you 50 questions on it. I only need to ask you a few questions like fast you like three or four questions you generally can prove to me that you know addition and subtraction. But if you kind of mess up one or two I may ask you one or two more questions just to see if that was just a mistake. Right. It's something like think about it a little bit like that. Can you go back to the previous sections or you locked out once you leave the section like other exams. I don't. It's like other I believe it's like other exams in the beta we were allowed to move around, but I, and I don't know why this would be any different from any of the other certification exams where can you jump around the different sections. And can you go back and review your review your stuff I don't. I don't know. Will they be test Mohammed will they be testing all the SDKs or do we choose the SDK we want to be tested on. No and no you they do not test you on all the SDKs I mentioned this at the beginning. They don't test you on all the SDKs and they don't you don't get to choose the exam is the exam. You should be familiar, mostly with that net core but there may be a type script slash JavaScript question that shows up. But it graph section is almost entirely dot net core. I'm pretty sure of that. Do we need to focus on the graph API beta version or v1 focus on v1 there's no beta stuff in here and I wouldn't expect I mean I don't know what their plans are to update the exam, but it's like v1 as of like September October of 2019, because the exam was released in November. So the certification was debuted in November. That's probably not true I probably say I say first quarter of 2020, because they did update some questions based on what the beta results were, but don't. They did update some questions on the exam for the graph v1 SDK as it was v1 at the beginning of 2020. They are no beta questions, or third party things on the exam. Kathleen, we are able to do this from the site collection correct. I don't know what that is in relation to if you could restate your, your question Kathleen that would help because I'm not sure that came in about 10 minutes ago and I'm not sure what I was talking about exactly in about 10 minutes ago. Ryan does each of these sections so the different workloads each of the different workloads have self paced learning like the one linked in this webinar. Yes, all five of them have self paced learning associated with them up on Microsoft learn. And I will give you links to each one of those and each one of these different webinars. Michael I'd like to review the material presented today can you tell us when and where the presentation we made available for review. Where is the link at the bottom of the slide that you see right here. I will update the blog post that points to with a link to the recording on demand recording that you can watch when it becomes available. When is that going to be my best guess is later today or tomorrow. I can't guarantee it because the different webinar platform systems are all under significant load and the current work from home and so many people doing stuff and doing virtual meeting stuff these days that there may be a delay. I expected to get the one from Tuesday, like a day or two later and it was done before I finished my lunch that same day so that was surprising I was able to get it out pretty quick. All I'd say is that if you watch the void Thanos Twitter feed or and what or watch the void Thanos Facebook page, I will put an update out when it's available. And I'll probably do an email out at the end of the week just kind of recapping the two that we did this week with links to the recordings and the future ones are coming for next week. We please reshow your slide for the users section so I'm going to I want to stick on this slide so you the recording will be available but I want to I want to stick on this slide for people to be able to grab this link because this is the one that's most important. I understand the request but I'm we're limited on time and I want to start jumping around. Hopefully it's lifetime no expiry date so I'm I'm guessing that you're saying how long is the certification good for I don't know of there being an expiration for it. I'm not aware I'm not aware of it being of it expiring, but things change so who knows. Yeah, I'm assuming you're not Jan but young as a web developer I've used graph endpoints for stuff like creating group get user and so on my question is, is the net core SDK very different. It's fluent. It's a fluent API, which means that you do a lot of like get request dot get user dot request dot filter dot select dot that and it is it's different because when you're doing like I only work with the rest API and when it's my choice I only work with the rest API I don't work with us. I don't like SDKs. And it's different in the way that you make your request so is it very different. No, a point that I made in the last webinar is that you won't be asked to write any code. If you understand how all this stuff works. You will be asked you will be given code will show up in two different ways needs and questions. You're either going to get a question that shows you code with the answer saying what does it do and you pick which one that says what it's doing. Or you get a question and it says like which one of these code samples would solve this problem and you get four different options. So, in my opinion, if you are at least moderately familiar with the SDK, and you know the job that you know the rest API. So you, you generally can figure it out. But that's not like a uniform thing across the board. Okay. Are there any questions about PMP J and PMP APIs. I'm like 99% that the answer is no. From Laura, I'm almost 99% that there is there are no questions about PMP APIs because PMP is not so. I don't believe. Oh my God, I'm part of the PMP group. I'm going to screw this up. PMP is not supported by Microsoft. It's a community led thing. And so therefore it is not like you're not required to do that. All right, so all the questions that are in right now. These are the ones I'm going to go through. I know we're at at the end of the hour, but I'm going to get through these as quick as I can. And then I'm going to go ahead and I'll stop. Jose, what is the approach to use Microsoft Graph and projects that only will lives in query SharePoint items when using graph or when only using SharePoint search service. I kind of answered that earlier with with Don's question and I'm going to go ahead and get through these as quick as I can. And then I'm going to go ahead and I'll stop. What is the approach to use Microsoft Graph and projects that only will lives in query SharePoint items when using graph or when only using SharePoint search service. I kind of answered that earlier with with Don's question, and that's really not. I'm happy to answer that, but that's a longer question that I need more information on to be able to answer it and that's not really the subject that we're dealing with this is not a how do I do graph development. topic. More than welcome though to please post a question to like the comments on the recording for this webinar or you know send something to us on Facebook I'm more than happy to go through and answer it that way. Kathleen never mind you basically answered it. Oh okay so that was an easy one to answer. Michael, oh much appreciated, got that. Praveen, did they test, did they test whether Graph API supported in none supported cases like capabilities? Praveen, I don't understand the question. I see in none supported cases. I'm not really sure what that means. Let's see. Ryan, are there any PowerShell questions? I don't want to say absolute. I'm not gonna say no because that's a 100% statement but I'm gonna I'll say with a 99.9% certainty and I'll put a hundred bucks on it that the answer is no. It's all, this is development stuff. Well I don't consider PowerShell development but it is, I don't think there's anything PowerShell in any of the exam. There may, I know for a fact there's none, there's no PowerShell in any of the self-paced learning and I don't believe, I didn't see any questions on PowerShell but I can't say that there's absolutely none because I, I didn't see all the questions. I only saw the ones that I saw when I took the exam but I don't, I'm pretty sure you don't have to know that. Praveen, the SharePoint framework course which I currently offer is lifetime once registered. Yeah, so it, yes, so it's not a, it's, when you, when you buy it you get access to the course and you get access to any updates and new stuff that gets added to it in the future and it's one time lifetime. And that is our last question. Hey everybody, thank you very, very much for joining us today. I really do appreciate it. I hope you learned something, hope this was useful to you. If it was, raise your hand, if you can, just let me know if this was helpful. I'm looking forward to hopefully seeing you guys in the future. In, you know, hey one thing I, I'd love this, what I'd love to see is, you know, help, if you want to help me with this, I mean this is a free webinar, you want to help me out with it? Go over to Twitter, go over to Facebook where we mentioned this webinar. I put a tweet out right before this webinar, webinar started from Voitanus. Retweet that with a comment and just say if, how much you liked it. And so other people can see it and that would help because then other people can go through and register and see the future ones and that would help me out and I'd appreciate it. So with that, I hope everyone has a fantastic day, have a fantastic weekend, stay safe, stay healthy. I hope to see you next Tuesday when we talk about SharePoint Framework, or SharePoint, well, SharePoint Framework and with the MS-600 exam. Bye everybody.