OneNote REST API - How can I reorder pages or sections? - onenote

I am using the REST API via PHP and iOS to generate multiple notebooks with default sections and pages based on data obtained from a MS SQL server (patient database).
Each patient has their own notebook and a days worth of notebooks are generated (or updated) at the beginning of the day. For efficiencies sake a curl multi wrapper is used (RollingCurlX).This works fine but the order the sections and pages get processed (and completed) is somewhat random.
Is there a way to reorder the pages or sections similar to what is available in OneNote itself?

This is supported by OneNote API now.
UpdateHierarchy Method
Description
Modifies or updates the hierarchy of notebooks. For example, you can
add sections or section groups to a notebook, add a new notebook, move
sections within a notebook, change the name of a section, add pages to
a section, or change the order of pages within sections.
ref:Application interface (OneNote 2013)

Currently this isn't supported by the OneNote API. Pages and sections should be ordered in the order you create them.
https://dev.onenote.com/
I suggest you create a new suggestion in OneNote API's user voice:
https://onenote.uservoice.com/forums/245490-onenote-developer-apis/filters/top
You specifically should ask for two things:
OneNote API should support updating/specifying section order
OneNote API should support updating/specifying page order

Related

How to programmatically get a Shared Link for end-user access to Fusion Team items?

Using the Data Management API for use with Fusion Team, we have successfully done the following via .NET:
Retrieved the necessary 3-legged authorization token.
Created storage in Fusion Team.
Uploaded files to the storage.
Create corresponding items for those files.
What we need at this point is a programmatic way to retrieve a shared link.
If we go through the online UI, the Share feature can create a shared link that can be used to share the item with anyone (without the need for any authorization at that point).
![Text]()
Is there any programmatic access to the Share mechanism from the Data Management API, or one of the other available API's?
If there is no available API support for generating Shared Links, can a Shared Link be pieced together from available information such as Project ID, Folder ID, Item ID, and so forth?
Utilizing the resultant Shared Link (generated from the online UI) into a browser, we have noted that it goes through a couple of changes. As an example, a link similar to this is presented to the user as the Shared Link:
https://a360.co/2Xyz6Kb
(not a real link - just an example)
And if you plug that into a browser, it first changes momentarily to something similar to this:
https://myxyz4.autodesk360.com/g/shares/SH56a43QTfd62c1cd968b6b8eedb8c9de08a
(not a real link - just an example)
And then that eventually resolves into this:
https://myxyz4.autodesk360.com/g/projects/20200728319292106/data/dXJuOmFkc2sud2lwcHJvZDpmcy5mb2xkZXI6Y28uYlJ1RjFMZ2RTRktKYXlJZjdqRnNaUQ/dXJuOmFkc2sud2lwcHJvZDpkbS5saW5lYWdlOlRhcUJhRjM1VDdTcFl6YUxXbXNiNXc?show=viewer&redirectSource=shared
(not a real link - just an example)
Is there a way to leverage the information we have access to in order to construct those sorts of Shared Links?
Unfortunately, that functionality is still not exposed, though it is being considered for the future.
Currently, you would need to create your own website that would take care of making the model publicly available. E.g. something like this:
https://forge.autodesk.com/blog/auto-publish-models-website

Scraping AJAX generated table to download PDFs in bulk

I'm trying to download (or alternatively open and save) approximately 30,000 PDF documents. The documents that are only accessible through a 3rd party service provider's website/platform (there are no ethical dilemmas here).
The website is secure and needs to be logged into (I have access) and the table is generated via AJAX. The report I intend on reading from has a URL of the form https://sub.website.com/au/report/index?id=1001# that doesn't change when dates or other filters change. In total there are 180,000+ table entries, not all have an associated invoice and not all invoices are required.
Using Chrome DevTools I can see the elements; table name is #reportResults, invoice details are in a html element.
There also looks to be an API but I don't know where to start here either.
How do I scrape data from this using VBA? I have downloaded the JSON.bas module recommended in other solutions for scraping JSON and AJAX. But for this situation I don't know how to use it and where to go from here.
I'm handy with VBA but have no experience with any other languages.

Multiple topics in one embedded yammer feed

I want to embed a yammer feed on a sharepoint 2010 site and I want more than just one topic in it. I can set up a feed for #Yammer OR #YammerHelp but not both, at least not both in the same feed merged together. It seems they get embedded one after the other.
Is there no other way than to set up two feeds, one for each topic, in separate div-tags?
I use a content editor on a SharePoint 2010 page loading the standard script generated by Yammer.
Things I've tried:
feedId: "13267317",
feedId: "24515"
or
feedId: "firstid" "secondid",
All help is appreciated!
There is no way to do that with the current API. If you retrieved the messages from the REST API directly you could combine the two feeds, sorting by created_at, but not via Yammer Embed.

Dynamics CRM How to present external data when viewing an account

When my users view an account, they also want to see data from another system, which is retrieved from a web service on demand (i.e. not stored or cached in CRM). Can Dynamics' web customisation, or other integration features, support this, given XSS restrictions?
The platform is Dynamics Online 2016.
Use HTML WebResource, just like any other html page, use JavaScript to retrieve and display your records.
Customize the account form and embed the created html on to the form.
Along with a HTML web resource, you could also consider the following:
Silverlight web resource (though that is somewhat out of vogue these days).
IFrame another website with your custom content.
Use a ribbon/command bar button to open a website in a popup window which displays the custom content.
Edit:
If you used a HTML web resource I don't think XSS restriction would be a problem. Say for example, you use a HTML web resource, you can then query and present data from the other applications web service. I dont think XSS comes into play here as the HTML web resource is all contained within CRM.
For either an IFrame or HTML web resource you can configure CRM to pass contextual information.
You can provide contextual information by passing parameters to the
URL defined in the control. The page that is displayed in the frame
must be able to process parameters passed to it. All the parameters in
the following table [including record Id] are passed if the IFRAME or web resource is
configured by using the Pass record object-type code and unique
identifier as parameters option.
You can configure XSS restrictions per IFrame.
Use the Restrict cross-frame scripting, where supported option when
you don’t fully trust the content displayed in an IFRAME.
So I think all of these options will work in various configurations.

Identify deleted pages in onenote

How to get the list of pages deleted using OneNote API (To synch the offline content)?
Assume we have 10000 pages in OneNote which is cached locally. When a page is deleted in OneNote how to identify the delete operation using API?
Unfortunately, the API currently does not support retrieving deleted (recycle bin) content. If you believe this is a feature we should have, please create/upvote items in our uservoice site.
https://onenote.uservoice.com/forums/245490-onenote-developer-apis
If what you are interested in are changes in user's content (deletes, adds, edits) then webhooks is what you should use. You basically subscribe to user's changes and get notified on any changes. You could cache the list of pages and on every change, identify which pages were added/deleted/edited. Note: only applies to consumer notebooks
https://msdn.microsoft.com/en-us/office/office365/howto/onenote-sync