2016-11-08 2 views
1

Je tente de créer un complément de volet de tâches pour OneNote ClassNotebook.Différence entre l'ID de bloc-notes par OfficeJS et l'API OneNote

Je veux savoir si l'utilisateur actuel est enseignant ou étudiant.

Pour ce faire, mon plan était:
1. Obtenir un ID de activeNotebook de officeJS
2. Obtenez les ordinateurs portables de classe avec ID 1 de l'API OneNote
3. Utilisez les étudiants et les enseignants de 2 pour vérifier si courant utilisateur est étudiant ou enseignant

Mais l'id de 2 est quelque chose étrange forme comme celui-ci - {3b9c6337-cd8c-5c1c-a87b-1a9515237c48}{1}

Comment puis-je récupérer ordinateur portable avec cet ID?

code:

let notebook = ctx.application.getActiveNotebook(); 
notebook.load('id,name,clientUrl'); 
return ctx.sync().then(() => { 
    fetch({ 
    url: `https://www.onenote.com/api/v1.0/me/notes/classNotebooks/${notebook.id}?expand=students,teachers` 
    }); 
}); 

Répondre

2

EDIT: Je suis heureux de dire que c'est maintenant disponible, utilise GetRestApiID pour cela.

https://github.com/OfficeDev/office-js-docs/blob/master/reference/onenote/page.md#getRestApiId


A ce moment, l'API REST et OneNote OneNote add-ins ont id imcompatible de. Il ya une entrée uservoice pour cela: https://onenote.uservoice.com/forums/245490-onenote-developer-apis/suggestions/17010982-add-onenote-add-ins-to-onenote-api-compatible-ids

Pour l'instant, vous devrez vous appuyer sur quelque chose comme les URL ou les noms.

+0

J'ai regardé cet uservoice mais je ne sais pas si ça va arriver. Avez-vous la moindre idée que quelqu'un dans l'équipe l'a regardé ou ..? – dongseok0

+0

Nous avons commencé à travailler dessus. Mise à jour bientôt ... –

1

L'ID entre l'API REST et l'API JavaScript n'est pas compatible. Ce qui est compatible est ClientUrl.

Dans l'API JavaScript, il y a notebook.ClientUrl Dans l'API Rest, il dispose de oneNoteClientUrl.