Discuss everything related to Miro API, SDK, embedding and Miro Platform apps development.
Recently active
What is the best way to get a list of all widgets on miro whiteboard. I would want something like “miro.board.widgets.get.all”. Used this for reference https://developers.miro.com/reference#get-board-widgets-1 Edit: deleted the original question, this ^ was pretty much it
Hi, I would like to get a Object of the whole, complete miro board. Found this article in documentation: https://developers.miro.com/reference#get-board But it doesn’t include any miro board command that can be used like with board widgets for instance which have something like this: miro.board.widgets.get()tried miro.board.get() but the feedback I get from console is that it is not a supported function, so the question would be if there is any integrated way of getting the whole board as an JSON object for the sake of “replicating” / “duplicating” the board contents on a new board for instance. Also, how should I go on about getting custom board objects like images to get them on a new board since I would like to get the exact copy of a already existing board which may include .jpg (or similar) files on it. Alternatively is there a different / better way to do a task like this? Thanks for any suggestions
Hi,Sorry if this is a trivial question or is at some point answered in the documentation. But I have been trying multiple ways of implementing these 2 methods and none seem to work right now. I’m trying to use this functionality in a miro board extension, the biggest problem is that my implementation worked on last friday, but when I tried to follow up on monday, I have this error every time: Uncaught TypeError: Cannot read property 'widgets' of undefinedMy attempts to use these methods:1)let allWidgets = miro.board.widgets.get()2)let AllWidgetsOnBoard = Promise.resolve(miro.board.widgets.get({ "type" : "SHAPE" })) //returns all widgets on board with shape type AllWidgetsOnBoard.then(function(v) { console.log("AllWidgetsOnBoard: ", AllWidgetsOnBoard) })3)let allWidgets = miro.board.widgets.get().then(function() { console.log("widgets on board: ", allWidgets) }) console.log("widgets on board: ", allWidgets)4) return miro.board.widgets.create({
Hi community. I want to develop an application that use card metadata.Unfortunately, I can add metadata to the card with JavaScript SDK, but I can’t get it with REST API.Do you know why? Reproduction procedure(0) Create Applicationhttps://developers.miro.com/docs/getting-started(1) Create a card with SDKawait miro.board.widgets.create({ type: "card", text: "test card", metadata: { [appId]: { hoge: true, }, }})(2) Get the card with REST APIcurl --request GET \ --url https://api.miro.com/v1/boards/${board_id}/widgets/${widget_id}\ --header 'authorization: Bearer ${token}'→ No metadata Thank you.
How to integrate miro apps with wordpress?
Hi, I’m working on a custom miro extension using javascript. It will function as a “layer” extension, something like photoshop uses to layer different edits on a photo. Miro board natively supports Bring to front and Send to back. I’m looking to apply this function to the whole layer, so for example if there were 10 widgets in a specific layer and a user brings that layer to front all widgets will be moved to front. I tried digging in miro board widget metadata but can’t find any attribute of a widget that represents bring to front or bring to back. In CSS this could be referred to as “z-index” of a object or element. Thanks for any help, alternatively is there any way to contact someone from the dev team and ask them?
Hi, I’m poking around the webapp- and rest-api in order to figure out if its possible to bridge Shotgun ↔ Miro for internal needs.Currently, everyting works fine with a localhost dev-server + self-signed SSL-certificates, drawer with images, javascript executing, the whole shebang. However, when trying to replicate the last part of the drag-and-drop demo and running the following code: miro.board.widgets.create({‘type’: ‘image’, url: “https://localhost.*”, x:x, y:y}) The board complains that I’ve put in the wrong address, but clicking the link in source takes me to the correct image. So I'm assuming that it looks from the ‘outside’ and therefor can’t see my dev-server. Since everything else has worked fine on local up till now I’m wondering if this can be rectified or if I’ve missed something? Running this on an internal server is an hard requirement, the service as a whole (miro) has been vetted as safe so a possible work-around would be to have them hosted by them, with the caveat th
I just want to ensure that I am using the community forum correctly. I tried to post a suggestion for a new feature for the REST API. I marked it as an idea, but then I couldn’t find my post under the developer platform forum. It went under an innovation section. Is that how I should have handled an API request?
MIRO reference explains how to create a widget with metadatahttps://developers.miro.com/reference#application-metadata PATCH https://api.miro.com/v1/boards/{boardKey}/widgets/{widgetId}Content-Type: application/jsonAuthorization: Bearer *****{ "title": "", "metadata": { "{your_app_id}": { "changed": "data" } }}In metadata parameters I need to insert “your_app_id”.Where can I find my app id?
Hi I’m a Knowledge Manager at ORIAS in Canada where i specialise in participatory working with clients using Participatory Narrative Inquiry developed by Cynthia Kurtz and the Future-Backward timeline method developed by Kurtz and Snowden at Cognitive Edge.FB works by creating a story timeline using tesselating hexes place first to describe the present, then working backwards into the past before describing a state of ‘heaven’ which partciapants then work towards in a step-wise fashion. The process can be sued for both sensemaking and action planning.Normally and ideally this is best done round a table, but in the age of COVID im looking to develop online options. MIRO seems a great platform to do this with. If anyone has any experience of designing templates or knows of something similar which can be adapted it would be great to hear from you.
Hello Developer Community! I hope you all had a good weekend. I’m messaging today because I use Miro to facilitate events and game experiences and frequently need to create 20+ boards from a template, make them all ‘editable’ to guests, copy their links and delete them after use. I would LOVE to see the dashboard with these kinds of batch commands - just like you would see in an email inbox. Since this isn’t the case, I’m exploring other ways… is any of this possible through API? If so, how? Thanking you in advance!Sophia
Hi Miro team,I’m currently working on a research project exploring the ways to enhance the functionality of Miro boards for SLT practitioners.I’ve been trying out some of the sample code for making custom web widgets with some success. I’ve been able to make several widgets that work in the Dev Team environment and have also been able to publish them to other boards. However, the other users of the boards are unable to use them. I’ve read all the documentation online, but am still unclear about the steps to make my widgets work for others.My code is published via GitHub pages at: https://newcastlerse.github.io/miroI’ve recreated the 'implicit-flow-example' from the miroapp/app-examples repo. This given as an example on the page: https://developers.miro.com/docs/how-to-start#section-3-install-your-web-plugin-to-any-miro-user. On the Dev Team board, I get a pop-up that I click to authorise the widget and it clears the board of all content. My understanding of the implicit-flow-example is
Hi !Does anyone expereince an issue on when embedding the board in the Presentation mode?It is now display with “Something went wrong” error, use to work before. Here is the code:<iframe width="640" height="360" src="https://miro.com/app/embed/o9J_ks8pWXc=/?&pres=1" frameborder="0" scrolling="no" allowfullscreen></iframe> Taking the “&pres=1” seem to make the code functioning again.But I really need to use the presentation view. Does anyone know the solution/ workaround? Thanks in advance.
Hi I want integration with onenote. What I want to achieve is that every time I create a new page within a specific notebook it should lead to creating a new child branch within a node. This way whenever I have new counter parties added ( for each new page entry) I create a new child node real time. Is this possible to achieve?
I am using the brain map template of miro and loving it. I have the map embedded in my website. The different nodes in my mind map are titles and currently I have it so that each node links to a completely new html page on my website. What I mean is that if you click on a word in my miro mind map you will be taken to a new page to read about the topic you clicked on. Each page of my website still has this miro mind map at the top so you can navigate to another topic in the map. So here is where I want to go with this. I want the mind map to stay at the top of the page where the user has zoomed in or moved it etc, and when the user clicked on something in the map instead of being taken to a whole new page I want to capture what the user has clicked on and change the bottom half of my html page where the info is. Meaning, everytime a user clicks on something in the map the state of the map stays the same because the user is not taken to a new webpage instead it is triguring some ht
I’ve made a card using the api, and have a card like so, The issue is the bottom part of the text gets cut when zooming out, is there anyway to control what is shown or not when zooming out?
I’m trying to create a web-plugin component that uses a library component (miro.board.ui.openLibrary) that tries to capture events (change or paste) events so the user can paste data into the component. In the event, I am trying to access navigator.clipboard.readText(). It fails on this line with the following error in chrome: Uncaught (in promise) DOMException: Disabled in this document by Feature Policy.It would seem that access to the clipboard is not allowed within a web-plugin? If it is allowed, is there something specific I need to do to enable it?
I’m using the REST API to try to add stickies to a frame, similar to the GitHub Issue Importer example. I find that if I specify a parentFrameId, that the x and y position is ignored and the sticky is added to the center of the frame. If I don’t specify a parentFrameId and give an x and y, then I can position them, but they aren’t considered children of the frame unless I go into the board manually and wiggle the stickies. How can I put content into a frame and not have it all stacked on top of each other? Also, I couldn’t find documentation for the parentFrameId in your API documentation. It is only mentioned in the example.
I have a plugin that generates objects to aid in workshops online and providing visual aids to them on Miro, the object creation itself is done by a logged in user, but I want to do some updates to a card object that are done by users who are joining in that are not logged in.I just want to change the color and rotation of a card, is this possible?I’ved added async function checkCardMovments( widget_id ){ await miro.board.widgets.update({ id: widget_id, rotation: 0, style: { backgroundColor: '#FCEEF0'} })} miro.onReady(() => { miro.addListener('WIDGETS_TRANSFORMATION_UPDATED', (e) => { if( (e.data.length == 1) && ( e.data[0].type == 'CARD' ) ){ checkCardMovments(e.data[0].id) } }) } to the miro.onReady of the js file that is initializing the plugin, it works fine if I am a logged in user but the callback doesn’t seem to run at all if its an anon user
I’ve recently run into problems updating cards on my boards. Unable to move cards or to update them unless I close Miro and then reopen.
Hi, I am trying to make a request to our server before returning the context menu in `getWidgetMenuItems` method. But the context menu not showing correctly when any delay occurs (even if I create a promise with settimeout for 10 ms). The context menu items may not able to display when I click on an item within the board. If I remove the settimeout, the context menu items will show correctly. Something like this: getWidgetMenuItems: async (widgets, editMode) => { const promise = new Promise((resolve, reject) => { setTimeout(() => { resolve([ { tooltip: 'Tools', svgIcon: 'svg-icon', onClick: async() => { // on click event } } ]); }, 10); }); const result = await promise; return Promise.resolve(result); } Regards, K
I’ve created an app and tested it in my dev team. Now I want to use it on my real team with other users. From step one here, it looks like I should be able to use the “Install app and get OAuth Token” button to get an accessToken. While I was able to get one that works on the board in my dev team, it doesn’t seem to work for boards in my real team. If I go to the “API, SDK & Embed” tab of my profile, I see my test app listed associated with a team of “Dev team”. I can’t seem to edit this to associate it with another team. If I try to create a new app, it only lets me pick the Dev team. How can I use this app I created with a real team? It’s a command line tool, so I don’t think I can participate in an OAuth flow. It’s not running from a web site.
I’m making objects and some of them go under some objects that I want to be in the background, is there a way to set the, in CSS terms z-index, putting some objects “backwards?”
I’m building a class calendar using the Monthly Planner template. I’m wondering if there’s a way using JavaScript, Python, or simply a unknown-to-me feature that lets me easily start a calendar on a date and have it fill in the rest of the date labels on the calendar. Seems like this should be a built-in, commonly used feature, but apparently not. Or, alternatively, is there a better calendar template? I do semester-long calendars that map out an entire course with milestones, holidays, lectures and assignments. There seems to be two versions of the Monthly Planner template. When you create it in the browser app, it’s a weekly planner with generic labels. If you create one using the desktop app, it’s more like a familiar calendar grid, but without dates.
I am trying to connect to the API using OData and am unsure if this is available in Miro or whether only REST API is available. Anyone done this? I’d like to get the data for a board into Power BI.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.