How API's work in Bubble

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
apis apis apis apis I love apis apis when you're starting out with bubble seem kind of scary because it seems to be part of this like wider web technology space that's not no code right it's we're leaving the confines of bubble which is nice and safe and friendly and we're going out into the into the world into the web but apis actually not that complicated apis are essentially just providing a standardized way to have one or more services connect with one another so share information so I wanted to start with a high level example we've got our app over here all right here's our app and this app right that we're trying to build this is an app that's going to let us share TV show recommendations with our friends right where we watch a new show and we think oh my God this is the best show everyone we want to share with our friends and our shared friends can maybe rate you know the shows that we recommend thumbs them up that kind of thing right so some kind of interactive social platform now the problem in building an app like this is that we don't have a database presumably ready to go full of TV shows which is what we would need right for this app to work because we would want to you know allow our users to kind of search for TV shows and have our you know users kind of like vote up vote certain TV shows so you would need to populate the site with all of these TV shows for our users to choose from in the beginning okay now one way around this is not to rely on our own database okay because yeah that's going to require a lot of work to populate that database with all of the these TV shows up front what we could instead do is rely on a third party service right third party service who just so happens to have a database full of TV shows now if only there was a way for our app to make a friendly request to this third party service for the third party service to get data from its database right this is the database for this third-party service and for us to get that data okay for us to essentially pull that data out of their database rather than our database they're giving us access to their database full of TV shows okay that's what an API does it allows us to get access to a third-party service okay and what often that will look like is retrieving data from a third-party service from a third-party database like this so how do we actually interact with an API like this so let's use the analogy of ordering pizza from Domino's to understand how an API works versus you right you're hungry you want pizza over here is Domino's right versus Domino's this big this big service okay inside of here is where all the pizzas get made right this is this is what they do inside of this this proverbial Black Box okay and what Domino's does is it exposes various services to you that you can interact with okay one of the most obvious ones is foreign okay creating an order okay but you might also have for example let's say that you don't really know what pizzas that are on offer okay you could call them up and you could ask them to to list the pizzas that they have available right what pizzas do you have available or what pizzas what vegetarian pizzas do you have available that kind of thing you might also call them up and want to check you know where's the status of my delivery how far away is it so you could go you know check status check to check the delivery status it's another thing that Domino's might allow you to do right you might also after ordering your pizza realize I forgot to ask for wedges or I just realized that I ordered the thin crust and I'm really a thick crust kind of guy so what I want to do is call them up and update update my order okay so these are all things that you can call up Domino's and do right these are like they're expecting these kind of requests from users so these are the services that they provide okay now what you do as the user is of course you call up Domino's right you call up Domino's and you make a request for one of these Services okay but you do so in a very predefined way okay you don't call up to order some pizzas and start talking about the weather and start talking about that your house plans are in desperate need of sunlight or rather you know all this random stuff that that's not the input that Domino's needs that's not the input that Domino's wants okay Domino's is expecting you to tell them what pizzas that you want okay so when you make this request here to create an order you do so with some predefined inputs that Domino's has specified okay you would pass to them you know the actual pizzas that you want to order you would pass to them your delivery address right you would pass this information to Domino's they might ask for it okay but this is information that goes with your request okay and the other part of this is that each of these Services you are telling dominoes kind of what to do you're giving it like a verb like create an order or tell me you know list out all the pizzas that you have okay and the API World okay there's only a certain amount of these verbs a certain amount of these types of requests okay what what we call methods okay and this one is called a post a post request okay that is where you are telling dominoes to go and take some action on your behalf okay there's other types too if you are going to ask for them to tell you what pizzas they have on offer okay and there might be certain inputs that you can provide here right like the type of pizza okay this would act like a search constraint right they would receive the search constraint and they wouldn't tell you all the pizzas that they have they would only tell you the vegetarian pizzas right or the pizzas that are on special or whatever your um whatever search constraint that you send okay this situation here where you are just asking them to give you some information right so dominoes are just going to go into their proverbial database okay and pull out the pizzas that meet your search constraints and then send that information back to you okay so it's just a basic retrieval of data we call that they call that a get type request it's a get method yeah these are the verbs these are the ways that you can interact with their service you can either post information to them in which case they're going to take that information go into their dominoes machine right you don't know how the pizza is made but you know that at the end of that process there's going to be an output right that's what I forgot to draw here is the output which of course is going to be a pizza and in this case it's going to be a list of pizzas that's sent back to you okay and there's some other types of of requests here too right this one here check status that would be another get request because you're just retrieving information okay but this update order there's other verbs that we can use in this case Okay commonly the apis will also use a post request for this a post type method okay but you can also use something called a put request or a patch request which are kind of what they sound like put some more information into your system so I call them up and I tell them I you know I ordered the thin crust and I want thick so I want you to I want you to kind of replace the order that you've got with this new order that I'm telling you okay or patch which is essentially the same thing but it's more you know change this one specific piece of information so when you go out and you start playing around with apis okay the API will tell you how it wants you to interact with it okay what methods it accepts it will tell you what services it provides what inputs you need to provide okay and how it expects you to interact with it okay so you don't need to memorize all of the stuff stuff up front but this is sort of just laying the foundation here this is understanding kind of at a high level how an API Works hey guys so full disclaimer video you're watching right now it's from my bubble course think it build it if you want to join the course see more videos like that fantastic if not just enjoy this video Happy bubbling the other thing I would layer in here just before we start getting into practically speaking how we connect with an API is that there are several high-level categories of apis okay and what we're talking about here is what's called a rest API okay which is the most common type of API that you're going to interact out there on the web with so it's the one that we're going to cover here in this course but just know there are other types so you may encounter those and you'll have to do some more learning at that point as to exactly how they work but at a high level right what all of these apis are doing is allowing two different services in our silly little example here a user and Domino's Pizza to interact okay and once we have kind of an an interaction like this setup okay we would call that an integration we would say that these two services are now integrated so let's go back now to our TV show recommendation system okay and let's see okay in this example instead of dominoes right this is going to be a service called TV maze so this is TV Maze and what we're looking at here is the documentation for how TV maze works now what TV maze is is they have a database full of TV shows that we can access and it's not just you know the TV shows themselves but there's all kinds of information on those TV shows you know it's some images for those TV shows it's their IMDb rating the number of Seasons that they ran for the date that this that the show ended like all of this kind of data that would be really difficult for us to populate ourselves in our own app we can just rely on the TV maze API in order to access all of that data right so this web page here the API documentation is going to tell us what services TV maze exposes to us and how we are required to interact with them okay and the services that this API provides are called endpoints okay the end point is where you send the request it's essentially like a little door in the side of the of the API okay and you go through this door when you want to interact with in the case of dominoes when you want to interact with orders like when you want to create and update a new order you go through the order door when you want to see all all of the pizzas that are available or the vegetarian pizzas that are available when you want to retrieve or get that information then you go through the pizzas door okay so you might have an orders door a pizza's door pizzas and orders are two different things right within Domino's Pizza two different kind of categories of objects and in the API world we call those resources different resources that the API provides and that we can interact with so you might go through the same door to create and update and order you might use the same endpoint but what's different then is the type of request right you might post to that endpoint to create a new order you might patch to that door to that endpoint in order to update an order so there are different ways that you can interact with those endpoints but the simple way of understanding this is that those endpoints all represent basically different services at the API provides different ways that you can interact with it and so if we scroll and look here at the TV maze documentation we can see that one of these first endpoints is called the show search or the search endpoint okay which says that this is basically just going to let us search through all of the shows in their database right okay and it's giving us here a URL now you can see it's only part of a URL okay that's the end part of the URL the end point right okay kind of the base the core of the API is this here this this api.tvmaze.com okay and then everything else is the endpoint like if you look at other if you look at other endpoints here you can see that there we go the end point is different but that that base URL is the same okay so that's the way in which we actually interact with apis is just by pinging different URLs right pinging different addresses on the web so how do we actually interact with these endpoints what we can do right we don't even need to go into our Bubble app yet if I go down to this show Single search I'm going to grab this example URL that they've sent me this example endpoint and I'm going to paste it into my browser okay because my browser my browser can actually call this endpoint it can do a get request to this endpoint okay so I'm going to hit enter and we see we're getting this information okay this is the output of that endpoint okay this is what the API is sending back to my browser in this case to the client okay and then we can do whatever we want with this information okay so you can see that sort of hard to make sense of here but we can roughly see yeah it's giving us some information about a show but what I actually want to do I'm just going to copy all of this and I'm just going to go down into a different program here called Visual Studio code okay which is just a play just a code editor basically and the only reason that I'm putting this in here is because it's going to let us look at it in a slightly more human friendly way okay so this is that same information it's just represented now in a different away okay what we are looking at here is a Json object Json stands for JavaScript object notation and all that is is a common structure almost like a common language for how to represent data okay so that different Services as long as they speak Json right they can send information between one another so in this case we're using Json well TV maze is using Json to represent information about a show Okay so let's break it down a little bit this curly brace up here this opening curly brace has a corresponding closing curly brace okay and everything in between everything in between is the show the show object okay the show thing and then within the object right what do we have we've got what looks like attributes properties of the show right the name the type the language that it's in does this kind of format look familiar it should because this is really exactly how we're representing our data objects in a bubble right a data object and bubble remember it's nothing more than a package of fields a package of data right it just holds attributes for that thing and then in the aggregate we call that collection of fields and information an object it's the same thing here all of these are Fields right this is the ID field with a number value this is the URL field or the text value another text value okay we've got a date value down here we've also got something like this where we have this is the genres field the genres attribute and it actually has an opening and closing square bracket in Json that indicates that this is a list of things or in the wider programming World an array this is an array of data so that's just a list in bubble so we've got here a list of texts essentially right we've got drama and romance so those are the list of genres stored on this show object and what's so awesome about the structure and obviously how closely it mimics what we're already used to is that our Bubble app can make sense of it okay a bubble app could actually work with this object okay we can represent this data in our Bubble app we can do stuff with it we can manipulate it we can represent it okay so let's actually jump in now let's jump into bubble let's find a way instead of using our browser to call this okay and retrieve this information let's feed this data into our Bubble app okay and then let's see if we can represent it on the screen to our users so in bubble to connect with an API we need to use a plugin a plugin called the API connector okay so this isn't some like weird hacky way of connecting with apis this is the bubble official way okay it just requires that you install the API connector plugin which is a plugin that they themselves have created to allow our app to integrate to connect with other services to connect with apis so once we've got it open we want to click here to add another API okay and this is where we add the name of the third party service itself right so in our case this is this is TV mace right this is TV maze okay now there are some settings like this authentication setting here that we are not going to worry about right now but we are going to cover over the course of the next few videos so we're going to leave authentication as it is we're going to ignore shared headings and shared parameters okay we're going to come down to this section here which where we see API call okay so this is where we actually configure the endpoint for the API okay so if I expand this okay the end point that we want to connect to right the service that we are interacting with on TV maze is going to be this show Single search the show Single search here okay so we will call this show Single search okay for Simplicity okay we're going to use it as data and we'll get into what that means in a little bit we're going to sit here for data type what type of output are we expecting from the API okay what information are they going to be sending back to us okay which is defined by the API if we go into the documentation it's telling us up here that it returns Json it returns Json so we can comfortably leave this as Json but there are other types here too and depending on the API that you are connecting with right you might want to use one of these the Json is the most common that's the one that we're dealing with here okay then we have the method right the way that we are interacting with this endpoint what we talked about before get post put patch delete we haven't mentioned and this is important because we could actually interact with the same endpoint using two different methods right if you think back to our Domino's Pizza example imagine that we have the orders endpoint okay if you do a post request to that end point then that might create a new order okay but you could also do a get request to that same endpoint that same URL and that would give you an update on your order okay that would give you information about your current orders okay so same end point but two different methods for two different things now in our case this shows single search okay we can only interact with this using the get method okay we're retrieving information we're not posting any information to TV maze through this endpoint okay so we can leave this as a gap that's what we want to do and then in here this is where we actually paste the address for that endpoint okay so that would be this whole section here okay this whole section here so the the root the root domain here okay which TV maze is giving us up here this is the root URL and then the end point itself okay which is this part here it's everything after that first forward slash so it's giving us here an example an example URL so let's let's copy that one just as we did before and let's use that one to test with just to see if we can make a rudimentary connection a rudimentary integration so I'm going to paste that in here okay now again we're not going to get into the details of headers and parameters here right here but we will over the course of the next few videos but this is all we need now okay all we're trying to do is replicate right pasting that URL in our browser that's all we're trying to replicate here in bubble okay so now that we've got this set up we're going to initialize the call okay initializing the call is going to ask our Bubble app to make this get request okay so we're going to initialize it and now we're getting this view here now I get a dopamine hit every time that I see this screen because it means that we have successfully called this endpoint we've successfully communicated with the API okay because in a lot of cases you might have an error you might not have configured something properly and you won't get the screen you'll get an error okay but this means things that are connected properly now I want us to ignore all of this section right here and I'm just going to scroll down to the bottom and click show raw data okay now this is the raw output that we received from the API so we did a get request to get a a show a single show right so using that single search endpoint TV maze has returned that single search object to us that single show to us and this is how it's represented in that Json format that we talked about before right there's the the start of the object and then all of this information all of these fields and their values right they belong to a single object a single show so since we're receiving things in this Json format okay our Bubble app can pass it meaning that they can make sense of it they can interpret this Json object in the language or the structure of our bubble objects okay of data in our bubble application and that's what bubble is doing up here for every attribute for the show that was returned okay bubble is assigning it a a value okay so these are all of the fields on the show so there's the ID field bubble is making a guess that that's text okay we could also change it we could say actually I want it to be a number there's the URL which bubble is guessing as text okay the name of the show which bubble is guessing is text so bubble is just automatically assigning these fields a certain value okay and we can also decide hey some of these might not be relevant for us and we can ignore them okay and that means that we're not going to use them in our Bubble app at all okay we're not going to have access to them and our bubble that now obviously here we're just getting the data for that show girls okay if I just click save here and I add a different value here and then I reinitialize this call now we're getting a different show of returns right The Sopranos okay so we're getting a different show object returned here okay so we're able to interact with this endpoint okay how do we actually now do something with this data in our application how do we have access to it in our app so let's say that we want to display the show that we received from the API out on a page to our users how do we do that so when I click save here okay what I'm doing is I'm initializing this endpoint in a way that is going to let us do exactly that it's going to let us have access to the value of this endpoint it's going to let us call this endpoint from anywhere in our application okay so just to show you that I've got a very simple page here just with a group in it okay and this group is where we're going to show the TV show that we've just received that's Sopranos TV show okay so as a type of content if I look in here you'll see ah we've got a new value here show Single search okay not a very intuitive name might be better for us too just go like this okay so what you're receiving via this show Single search method okay and in my bubble app now it will still say the old version because I haven't reinitialized it so whenever we make changes in the API connector we should re-initialize and now you'll see that that new name is being reflected okay so we're displaying here a object that we've received from that endpoint this is not an object this is not a data type that we've defined ourselves in our bubble database okay the structure of this object comes from the API it comes from that third-party service okay and we are just having access to it we're just pulling in those values that information and then representing it in our bubble lab so we've got the type of content here set to a show as defined by the API and now we're going to say okay how do we actually forget it right where do we get it from so the data source we're going to select this get data from external API okay get data from external API and now we choose what's the provider of that API and the API provider okay there's only one because we've only got one okay so we could have multiple endpoints or multiple API services in general defined within that API connector and then we would have more options here but we've only got one so we're just going to choose that single one okay so by setting this up what we are doing is getting this group here this group TV show to make the API call two TV maze when the page is loaded okay because remember this data source section this data source expression that will file when the page loads so when the page loads now in bubble this group is going to do that API call from our app to TV maze asking it to do a single search for a show it's going to receive in the way that we've initialized it right a Sopranos show that's what we're expecting at least okay so we're testing this out with some with a search constraint that we have full control over so in theory now right I've got this text living inside of this this group TV show I could pull through the parent groups show right and now display a field from that show like for example the name I've also got an image I could do the same thing insert Dynamic data I'm going to grab the parent group show and right here we have an image medium so I'm going to display that that image medium okay let's load the page now let's see what happens if I go preview boom look at that so we are pulling information now from a completely different service to our own some third-party API some database living somewhere else on the web we have just successfully asked it to send us information and it has we're pulling information from somewhere else now so if I go into this group main you can see like here's the here's all that data right this is the this is the show living inside of this group right and then the data source here's that API connection here is that API connection here's what it's returning okay so that's super awesome very very cool but right now we're just showing The Sopranos right we're we've successfully asked the API to send us back The Sopranos every single time but that's not that useful right we want our users to be able to dynamically search for particular shows and have them returned here by the API okay so we want to feed some Dynamic value from our app to the API and have the API process that and send us back some data so for example right if I put an input on the page here and I will put it inside of my group main here and I will just make it not fixed width so this is going to be our input show name okay we want to feed the value of this input into into this data source okay so how do we do that we need to go back to our plugins tab back to our API connector and where we have this Q equals Sopranos okay this here we basically want to be defined by the user dynamically so to do that we add some square brackets we give the name for what it is let's say show name and that's essentially creating now a query parameter okay what an API world we would call this a query string it's nothing more than a URL parameter so here's the key right here's the name of the URL parameter and then the value is the equivalent of The Sopranos it's what is the name of the show that we want to retrieve data for and so since we made some changes here I'm just going to make sure that I am going to reinitialize this call so we need to have some value in here so I'm going to type Sopranos I'm going to reinitialize okay so that's going to update now this API connection throughout the entire app so I'm going to click save and I am going to just remove that value as well and now within this data source we have access to that show name input okay so now we could literally just type Sopranos and we reload the page we'll get exactly the same data right we'll get exactly the same data or I could type you know another great show at the moment succession and if I reload the page now we're getting the values for succession okay or right or instead of typing something static predictably I point it to their inputs value so we're feeding the data from the input into the API call okay and whenever when I load the page okay we've actually got an error down here okay and that error will be because we are not feeding any query string to the API right now it can't handle this show name query being empty okay because it doesn't know what to search for so let's give it something let's try Sopranos there we go let's try I'm not sure I'm watching right now Ozark so we are now able to dynamically populate this container this group based on an input that the user provides and data living in some database somewhere else on the web so this is a super powerful concept here right our bubble apps have just just leveled up right they've just gone Super Saiyan we can now have them do all kinds of things that they wouldn't be able to do natively okay just by now leveraging the data and the the logic the services that other applications out on the web have so a couple last things before we sign off here let's expand our foundation for apis here a little bit more okay what I've been doing here is I have been populating this group using a data source okay so I've been pulling data from that API right but we can also push data into this group okay we can also use a workflow to populate this group which might be useful if for example I have a button in here if I have a button called search let's say and let's move it up a little bit okay and this button when it is clicked is going to populate this group okay so it's not going to do anything by default it's only going to react to a button click so for us to set that up we need to go back to our API connector and now instead of use as data we want to use this as an action we want to use this as an action okay and that's going to allow us now to call this API from a workflow rather than from the data source of an element a data source of our group okay now that I've changed this I need to reinitialize it and just to show you I will probably get an error here because I'm not defining any value for that show name here we go yeah see I'm getting an error even if I took this allow blank so that's a bubble side restriction bubble won't let you make this call if there is anything empty in here we're allowing bubble to make the call but we'll probably still get an error yeah because TV maze doesn't want to have an empty parameter here okay so we won't allow that to be blank let's just type something so that we can initialize it cool so now we're getting the data that we need so we'll save that I can now I could leave this in I could leave this in um and I will I will leave it and you can see what the impact of that is so we've set this up now as an action now let's go back to our design tab our search button start it workflow okay we want to add an action here that populates that TV show container so what I'm going to do is I'm going to come down to plugins okay this gives us access to any endpoints that we have configured to be an action type right which we have just done rather than a data a data type request so I'm going to choose that and now we're getting the same you know the same kind of way of interacting with the API it's giving us now access to any Dynamic fields that we can feed into the endpoint and so this is what we're seeing right that show name just as before and now it's pre-populated with Sopranos and that's because I left this value in here I could actually remove that and it will be empty here as well okay we just have to remember that we have to build some logic into our app to not allow this show name value to be blank okay which we can kind of do with this button by you know only letting users click the button if the input is not empty so here I'm going to point the the value for this show name path to the value of that input on the page right so we're making that call now to the API it's returning some data and now we need to decide what we want to do with that data so right we want to display it in that group so we're going to go element actions display data the element that we want to display it in is this group TV show and the data display is going to be the output of that API call right which is coming in raw as a Json object as a show right formatted as Json and bubble is interpreting it as this if I go back to this this container here it's interpreting it as a new type of thing called a show Single search right it gives that thing the same name as the API call itself so in bubble terms we are now dealing with it as a show type object but it's coming in raw as a Json object so bubblers is interpreting it as transforming it into a show type thing which we can then manipulate right we can then do stuff with it including displayer inside of a container formatted to hold on to a show object so that's what we're doing here explain the result of Step One the result of their API call and now if I test this out let me try again with Ozark click search boom there we go look at that if I chop something else another show that I like the boys cool so there is now you know how we're interacting with the API using workflows so using the API core as an action rather than as a data okay okay now last thing is let's connect with a different endpoint here this show search not show Single search so that we are receiving a collection of TV shows rather than just a single TV show Okay so let's see how that works right dealing with a list of things returned from the API so I wanna come back here to my API connector I'll collapse this we've already set this up so that's all good and I'm going to add another call a new call here okay and this is going to be our show search so I might call this show multiple search just to differentiate it so show multiple search versus a single search so we know that this is going to return a list of things Okay so I will use the example endpoint here we know how to set this up so I'll add it in and then let's just from the get-go we'll set this up the proper way so we'll add a parameter here and call it show name okay and we don't want it to be oh and we don't want it to be private because we want to be able to interact with this input via our design tab right we want to have this be filled dynamically but we'll just add something here for now like girls right like what it was okay and then if we initialize this cool what we're actually getting in this case if we go down to show raw data is we are getting a list of shows okay and how do I know this we're starting the whole Json object here or the square bracket let me just copy all of this copy all of this and paste it into Visual Studio code here just so we can see it a bit clearer you'll see the whole payload right what we're calling the payload the the parcel of data that was returned from the API it starts with a square bracket and it ends with a square bracket okay that denotes the start and end of an array right which we've already briefly covered bubble terms the start and end of a list so everything in between is a list of things in our case a list of shows inside of that list right here is one show here is another show here is another show okay so that show there is denoting the start of that show object that show thing okay and this score okay this is just some metadata about that entry in the list okay this is actually corresponding if you look at the documentation this is actually corresponding to the accuracy of the search how well this object fits the search parameter the search constraint and it's ordering them okay by best fit so the higher the score right the more accurate the result the more accurate the the the show based on the search constraint it fits the search constraint the best right so it's just like Google put in the most accurate entries at the top of the list when you do a Google search same same thing here okay so the most important thing to get our heads around here is just the fact that this whole Json object is containing a list of things so when we interpret it in our Bubble app we also need to interpret it as a list of things a list of shows okay so if we come back to our API connector here and if I click save we'll keep all of these fields as bubble has interpreted them if I click save right right I should now be able to put this inside of a repeating group and populate that repeating group with the list of shows that we receive right so let's try it out I'm going to I'm going to just make a couple of small changes here to the group I'm going to get rid of this minimum width I am going to grab a repeating group here okay and I'm just going to make some small adjustments here to my repeating group I don't want a fixed number of columns but I do want I can have a minimum width for each column let me just bring it up on the page a little bit and get rid of this fixed width make sure that I'm setting a minimum height here of whatever this minimum height is right now it's at 372 so we'll just call it so we'll just go 400 by 400 and then this guy we want to put inside there we go we want to put him inside and we might just Center them as well and for good measure I'll just shorten my my input a little bit as well and put the search button over on the left hand side so now on this repeating go okay I am going to add a type of content which now corresponds to that new API call right show multiple search so that as far as bubble is concerned is a new object okay it's a new type of thing okay specifically it's a list of things so I am going to get data from an external API as before and choose that multiple search option at multiple search option okay and now for each of these I'm going to configure that to be a show multiple search and grab the current cells show the current sales show and now I'll just connect up these inputs as well parent groups shows show name parent group shows image okay and the show the path okay the the dynamic query for the name will connect that back up with input show names value as well okay so we don't need this button anymore right we're just going to do this as we were before by pulling data in so if I reload this you see look by default we're actually pulling in all of these girls um that's because I'm still populating this query parameter with girls by default so I will remove that and now it should be empty on page load unless I start typing in let's say girls boom look at that the boys if I typing something more General like money right you can see all of this stuff coming up so we now have this kind of cruelly represented in terms of the UI but in terms of functionality we've got something really powerful here we're allowing our users to basically filter this repeating group of shows that lives on some other server somewhere else on the web okay so that's the real basics of apis that's like the foundation here okay but we can go a little bit deeper right now we're interacting with an API that is just like completely open for us to use completely free but most of the apis that you're going to use are not going to be like this they are going to require you to essentially log in to authenticate yourself so we're going to get into what that means how that works in the next video [Music] foreign [Music]
Info
Channel: Matt Neary
Views: 19,404
Rating: undefined out of 5
Keywords: no code, no-code, nocode, bubble.io, bubble tutorial, bubble.io tutorial
Id: IuPye86SPHA
Channel Id: undefined
Length: 50min 21sec (3021 seconds)
Published: Tue Nov 15 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.