(duplicate of this StackOverflow answer) Start a new project In a new folder, type npm init to start a new project. Make sure to use a Node >= v14 (I use Node v18 – and Volta can be useful to manage several versions of Node for Windows) Install some dependencies: npm install axios @azure/msal-node uuid […]
Category: Programmation
Search and restore an item from a SharePoint Online Recycle Bin
It might be difficult to search for an item in a SharePoint recycle bin. I was using the end point _api/site/RecycleBin as a Site Collection Administrator, but in some cases it returns an error “The attempted operation is prohibited because it exceeds the list view threshold.”. The solution is to use another end point _api/site/getrecyclebinitems […]
Calculating HMAC SHA-1 in the Browser
If you’re looking for the equivalent of hash_hmac(‘sha1’, ‘string’, ‘secret’); in JavaScript, then here you go: async function hmac_sha1 (str, secret) { // see https://stackoverflow.com/a/47332317/1134119 let enc = new TextEncoder(“utf-8”); let key = await window.crypto.subtle.importKey( “raw”, // raw format of the key – should be Uint8Array enc.encode(secret), { // algorithm details name: “HMAC”, hash: {name: […]
Connect to SharePoint Online using an app clientId and clientSecret
Get `clientId` and `clientSecret` (source) You’ll need credentials: `clientId` – required string, client id obtained when registering the addin `clientSecret` – required string, client secret obtained when registering the addin `realm` – your SharePoint Online tenant id. The easiest way to find tenant is to open SharePoint Online site collection, click Site Settings → Site […]
spfx error: No development certificate found. Generate a new certificate manually, or set the `canGenerateNewCertificate` parameter to `true` when calling `ensureCertificateAsync`
When using the command gulp serve, you could receive the below error: No development certificate found. Generate a new certificate manually, or set the `canGenerateNewCertificate` parameter to `true` when calling `ensureCertificateAsync` To resolve, you can type gulp trust-dev-cert.
Detect mobile in JavaScript
We could simply check the resolution or user agent: const isMobile = Math.min(window.screen.width, window.screen.height) < 768 || navigator.userAgent.indexOf("Mobile") > -1;
Freebox Player API
Free ne documente plus ses API depuis quelques années…. J’ai donc du faire pas mal de tests et de recherches pour trouver l’API liée au Freebox Player ! Je partage mes trouvailles sur https://github.com/Aymkdn/assistant-freebox-cloud/wiki/Player-API
SharePoint 2013 Search REST API options
Finding the documentation for the Search REST API of Sharepoint is difficult…. There is a very old blog post that I’m going to replicate here to give more visibility: Location of the Search Rest service The Search REST service is located at the following URI: http://host/site/_api/search The Search REST API The Search REST […]
SP.Utilities.Utility.SendEmail returns “The e-mail message cannot be sent. Make sure the e-mail has a valid recipient.”
With Sharepoint you can use SP.Utilities.Utility.SendEmail to send email in JavaScript, however you could receive the below error: “The e-mail message cannot be sent. Make sure the e-mail has a valid recipient.” After searching the web, I found the solution: instead of using an email address for the recipients you have to use the userDomain […]
Create a self-signed certificate for localhost testing with IE11 and Webpack
Sources: https://stackoverflow.com/questions/44988163/create-self-signed-certificate-for-testing-localhost-and-have-it-accepted-by-the http://woshub.com/how-to-create-self-signed-certificate-with-powershell/ https://stackoverflow.com/questions/4691699/how-to-convert-crt-to-pem/4691749#4691749 https://webpack.js.org/configuration/dev-server/#devserver-https If you develop with Webpack under Windows and you want to open your localhost server in HTTPS with IE11 you may receive a message like : “Content was blocked because it was not signed by a valid security certificate.” Below I explain the steps to make it work with IE11: […]