Discuss everything related to Miro API, SDK, embedding and Miro Platform apps development.
Recently active
Hi,I’m using Miro REST API in the form of a sidebar, I’m trying to export data to a external database and would like to mark each dataset with its corresponding miro board ID from the board url like this one for example: https://miro. com/app/board/hereistheboardid/I’m trying to do this by calling window.location.pathname.split('/') from which I then obtain an array of paths in the link. Unfortunately the paths that I get returned back are ones from my server where I keep the code to my miro REST API Outlined in blue is my sidebar, from which the url path gets returned, but in the red there is underlined the actual window url / location which I believe it should return. Any ideas how to get the miro board URL via my REST API / webplugin?
I’m new to creating plugin for Miro. I have created a test plugin by follwing https://developers.miro.com/docs/how-to-start this & successfully added to my board. But how to modify/change my plugin after installation. When I change the code in index.js file of my web page which is hosted in the web plugin url, the plugin does not affect. It keeps un changed. How to update my plugin to affect changes.Thank you
I am writing a plugin that detects changes in a board (widget created, deleted, etc), and I want to take a screenshot of the change.The plugin can detect those changes, but I am stuck at the screenshot part. I have tried to integrate an iframe in the plugin but with no success. I want to ask you what ideas would you suggest?
Hi, I am trying to get widgets by id using the await miro.board.widgets.get({ id }) but it doesn’t appear to work? I have tried single ids, array of ids, both with strings and integers and nothing comes back? Is that expected behaviour? This is within the onReady callback; Thanks, Craig
Hi guys,I want to code a simple calculator to use inside the Miro environment.Since I am completely new to doing this in Miro: Do I need to build this functionality within my own HTML environment and embed this piece of code within Miro using something like an iframe? I can’t figure out if it’s always a ‘web plugin’ you’ll have to load from your own website/environment.If someone can explain me where to start, thanks a lot!All the best,Bob
Hi, I seem to be having an issue in getting the miro.board.widgets.create() promise to complete. The widgets are created but the returned promise never changes from “pending”. I have tried creating widgets one at a time and in batches but with no luck. As I say the widgets do create but without the promise completing or even erroring there is no way for my code to complete… it just hangs forever :( Anyone else has this issue? My code block is wrapped in the miro.onReady() callback so I don’t think i need to do anything else? Thanks.
Hi, I have trouble with embed from miro. I used this code in my website <iframe width="100%" height="400"src="https://miro.com/app/embed/o9J_kkXmwko=/?autoplay=yep" frameborder="0" scrolling="no" allowfullscreen=""></iframe> but I have an iframe like that : miro.com And i have a error on the the console :Uncaught ReferenceError: rtb is not defined at Object.p (embedEntry.23055cf40587a7dd6af2.js:2) at Object.O [as storeUserIds] (embedEntry.23055cf40587a7dd6af2.js:2) at t.apiHost (embedEntry.23055cf40587a7dd6af2.js:2) at G.apiHost (embedEntry.23055cf40587a7dd6af2.js:2) at Object.<anonymous> (embedEntry.23055cf40587a7dd6af2.js:2) at p (runtime~embedEntry.09c728ffbf645e3ac835.js:1) at Object.<anonymous> (embedEntry.23055cf40587a7dd6af2.js:2) at p (runtime~embedEntry.09c728ffbf645e3ac835.js:1) at Object.<anonymous> (embedEntry.23055cf40587a7dd6af2.js:2) at Object.<anonymous> (embedEntry.23055cf40587a7dd6af2.js:2) Thank for yo
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.
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.