Getting the display name for a subscribedSku from Graph API - microsoft-graph-api

I am trying to get a list of subscribedSkus from our Office 365 tenant and their associated display names. I am calling the /beta/subscribedSkus endpoint but the only name it name I see is skuPartNumber which isn't very readable. Is there another endpoint I can call to get a display name?
Example:
skuPartNumber: DYN365_ENTERPRISE_PLAN1
The license name in Office 365 Portal: Dynamics 365 Customer Engagement Plan Enterprise Edition

Unfortunately, no. There isn't an API for returning the descriptive service plan name.
Most (as best I can tell it is "all" but I'm hedging here just in case I'm mistaken) are documented at Product names and service plan identifiers for licensing. For example:
Product Name: DYNAMICS 365 CUSTOMER ENGAGEMENT PLAN ENTERPRISE EDITION
String ID: DYN365_ENTERPRISE_PLAN1
GUID: ea126fc5-a19e-42e2-a731-da9d437bffcf
Service Plans Included:
DYN365_ENTERPRISE_P1 (d56f3deb-50d8-465a-bedb-f079817ccac1)
FLOW_DYN_P2 (b650d915-9886-424b-a08d-633cede56f57)
NBENTERPRISE (03acaee3-9492-4f40-aed4-bcb6b32981b6)
POWERAPPS_DYN_P2 (0b03f40b-c404-40c3-8651-2aceb74365fa)
PROJECT_CLIENT_SUBSCRIPTION (fafd7243-e5c1-4a3a-9e40-495efcb1d3c3)
SHAREPOINT_PROJECT (fe71d6c3-a2ea-4499-9778-da042bf08063)
SHAREPOINTENTERPRISE (5dbe027f-2339-4123-9542-606e4d348a72)
SHAREPOINTWAC (e95bec33-7c88-4a70-8e19-b10bd9d0c014)

Related

Client.getConversationByUniqueName and Client.getConversationBySid cannot find conversations created by other users

Note: I'm using #twilio/conversations version 1.1.0 in node project. I'm transitioning from using Programmable Chat to Conversations.
I'm seeing calls to Client.getConversationByUniqueName and Client.getConversationBySid are not returning existing channels that were created by other users.
Example:
User 'A' (with its own unique identity and token) successfully created conversation 'myConvo1'using the following code:
client.createConversation({
uniqueName: 'myConvo1',
friendlyName: 'myConvo1',
});
User 'B' (with its own unique identity and token) cannot find that conversation using: Client.getConversationByUniqueName('myConvo1') OR Client.getConversationBySid(sid) (just passing in the sid I get from the initial createConversation call).
 
I see these errors respectively:
Not Found  at ​​​Upstream.actualSend​​​
​./node_modules/#twilio/conversations/node_modules/twilsock/lib/services/upstream.js:135
Conversation with SID CHc4565e40a32f4bffaf490bae2cff45db is not found. 
at ​​​conversations.syncListRead.promise.then.then.conversation​​​ ​./node_modules/#twilio/conversations/lib/client.js:283
However, I can access this conversation fine with the same functions if I'm using User A's token/identity.
Also, when I call this from User B's Client:
client.createConversation({
uniqueName: 'myConvo1',
friendlyName: 'myConvo1',
});
I get this error: Conversation with provided unique name already exists. So all of this leads me to believe the conversation is out there, but it's just not available for other users to join.
Note 2: I've been referencing the docs below. I don't see any explicit examples on how to find and join channels, so I may be missing something or approaching this wrong.
https://media.twiliocdn.com/sdk/js/conversations/releases/1.1.0/docs/Client.html
https://www.twilio.com/docs/conversations
Could this be the reason, where Twilio Conversations only supports private channels, not public channels like Programmable Chat?
Public vs. Private Channel Use Cases with Twilio Programmable Chat
Migrating to Conversations from Programmable Chat
I created multiple Service ID's and using one specific(XXXX-Chat-Dev) Chat Service ID, but application took the Default Chat Service ID which I didn't mentioned in backend.
Fixed by deleting the Default Chat Service ID in Twilio.
Cheers!

Microsoft GraphApi: how to filter SPO results

I have a SPO site within a SPO site collection.
My site has a DocumentLibrary and inside it 3 folders (Alfa, Beta and Gamma): I would like to get get the ID of one of them (for example Beta) by Graph API.
I can get all of them by writing:
https://graph.microsoft.com/v1.0/sites/[id site collection]/sites/[id site]/drives/
I can select a specific fields:
https://graph.microsoft.com/v1.0/sites/[id site collection]/sites/[id site]/drives?$select=name,id
but I can't filter the results, the following requests return always the same results of the first one:
https://graph.microsoft.com/v1.0/sites/[id site collection]/sites/[id site]/drives?$filter=name eq 'Beta'
https://graph.microsoft.com/v1.0/sites/[id site collection]/sites/[id site]/drives?filter=name eq 'Beta'
. Does anyone know why and explain me how to filter?
Thanks in advance.
As of now you cannot use ODATA query parameter $filter to filter the document libraries as it is documented that it can support only few query parameters. There is already a feature request raised in Microsoft Graph Feedback Forum, please upvote it so that the product team may develop it in future.
For now you should query it on your end(Client side) using list drives and pick the required drive object by the name property from drive objects listed.

How can I get Online meet List 'Meet Now' - Microsoft graph api

I want to get Online meeting list.
I tried
https://graph.microsoft.com/v1.0/groups/eadf9340-f10b-4ea9-aaea-1ec45bc645dc/events
It returns online meeting list, But It not return 'Meet Now' List.
I also Read this api
https://learn.microsoft.com/en-us/graph/api/onlinemeeting-get?view=graph-rest-1.0&tabs=http
But I don't now how to get 'VideoTeleconferenceId'.
How can I get Online meet list 'Meet Now' ?
There is no API to get a list of all the onlineMeetings.
It is the responsibility of the calling application to store the ID of a online meeting at the time that onlineMeeting is created.
the VideoTeleconferenceId is for use by VTC applications that have their own VTC ID, and specify this when creating a new OnlineMeeting, and then can retrieve the meeting using that same VTC-ID
I suggest you check Events with an OnlineMeeting, as they can be listed.

MS graph guid for permission User.Invite.All

What is the guid value for User.Invite.All permission in graph.microsoft.com
User.Invite.All guid = ?????
Graph Invitations Permissions Security Solution Below in Answers …
(the below list is now updated with the User.Invite.All guid)
-----------------------------------------------------
Microsoft Graph (API)
- resourceAppId 00000003-0000-0000-c000-000000000000
-----------------------------------------------------
User.ReadWrite.All
- 741f803b-c850-494e-b5df-cde7c675a1ca
Directory.ReadWrite.All (+)
- 19dbc75e-c2e2-444c-a770-ec69d8559fc7
User.Invite.All
- 09850681-111b-4a89-9bed-3f2cae46d706
-----------------------------------------------------
Windows Azure Active Directory (API)
- resourceAppId 00000002-0000-0000-c000-000000000000
-----------------------------------------------------
Directory.Read.All
- Read directory data
- 5778995a-e1bf-45b8-affa-663a9f3f4d04
Domain.ReadWrite.All (*)
- Read and write domains
- abefe9df-d5a9-41c6-a60b-27b38eac3efb
Directory.ReadWrite.All (+)
- Read and write directory data
- 78c8a3c8-a07e-4b9e-af1b-b5ccab50a175
Device.ReadWrite.All
- Read and write devices
- 1138cb37-bd11-4084-a2b7-9f71582aeddb
Member.Read.Hidden
- Read all hidden memberships
- 9728c0c4-a06b-4e0e-8d1b-3d694e8ec207
Application.ReadWrite.OwnedBy
- Manage apps that this app creates or owns
- 824c81eb-e3f8-4ee6-8f6d-de7f50d565b7
Application.ReadWrite.All
- Read and write all applications
- 1cda74f2-2616-4834-b122-5cb1b07f8a59
Domain.ReadWrite.All (*)
- Read and write domains
- aaff0dfd-0295-48b6-a5cc-9f465bc87928
(*) Note these have the same name and description - two seperate guids within AD
(+) Notice same scope name in two diferent resourceAppIDs (Graph vs. AD)
The above list may be very useful to someone as I was not able to find an include file or type def anywhere. Which makes sense as you use the text name in scope calls.
Invitation Manager Microsoft Graph Security Permissions – Critical Detail
The invitations “service” is part of Graph not part of AD.
AD looks like it is part of Graph and Graph looks like it is part of AD but they have different security setup contexts and scopes that happen to have the exact same permission names in some of the scopes.
If you are setting up an application in Azure that needs access to the Invitations API then make sure you add a specific reference to Graph in addition to the AD API reference that is created for you when you first create an application registration.
FYI: The Invitations looks like it is part of normal full v1.0 Graph and not beta only anymore.
https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/invitation
https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/invitation_post
https://graph.microsoft.com/v1.0/invitations
https://graph.microsoft.com/beta/invitations

QuickBooks AccountQuery - FullName doesn't include parent name

I have an app that syncronizes with QuickBooks using qbXml and the Intuit Web Connector.
I've noticed some unusual behavior when querying accounts. According to the spec, an account's FullName should include the names of any of its ancestors, separated by colons. Like "grandparent:parent:account".
In this one particular case, however, I'm getting a return from AccountQuery where the account clearly has a parent but the FullName does not reflect the parent's name. This only happens for one particular user, QB 2012 Pro.
Is there a setting or circumstance that causes QB to shift gears and not include the parent name in the FullName of an account?
Here's an example of an account with a fishy FullName (some info changed for privacy).
<AccountRet>
<ListID>800000BD-1328833123</ListID>
<TimeCreated>2012-02-09T18:20:40-06:00</TimeCreated>
<TimeModified>2013-02-18T10:49:29-06:00</TimeModified>
<EditSequence>1361206169</EditSequence>
<Name>My Account</Name>
<FullName>My Account</FullName>
<IsActive>true</IsActive>
<ParentRef>
<ListID>80000037-1324501345</ListID>
<FullName>Parent Account</FullName>
</ParentRef>
<Sublevel>1</Sublevel>
<AccountType>Income</AccountType>
<AccountNumber>5025.2</AccountNumber>
<Balance>9.99</Balance>
<TotalBalance>9.99</TotalBalance>
<CashFlowClassification>None</CashFlowClassification>
</AccountRet>
This situation is caused by the user having the following Preference turned on in QuickBooks:
Edit > Preferences > Accounting > Company Preferences > Show lowest subaccount only
So you have two choices:
(1) Get the user to turn off that preference, or
(2) Use the ParentRef data to link each AccountRet to its parent Account.
Thanks to Karl Irvin for a heads-up which helped me solve this.

Resources