How to get Microsoft Dynamics CRM root service address? - dynamics-crm

I was reading the documentation and stuck in a problem that I do not know how to get Dynamics resource for acquiring access_token using any API (I know my CRM root service address but I do not want to hard-code this service name in my code base). Could you please provide me with the solution to this problem?

You need not to hard code it in code base like showed in documentation sample. But normally we will keep this in web.config or app.config xml file just like any connection string & consume it.
Use connection strings in XRM tooling to connect to Common Data Service for Apps

You can use the Online Management API to get a list of all the Dynamics 365 instances in your Office 365 tenant. I believe this is what the Plugin Registration tool does when you check "Display a list of the Organization(s)".
This looks useful:
https://learn.microsoft.com/en-us/dynamics365/customer-engagement/developer/online-management-api/sample-quick-start
The C# sample demonstrates how to authenticate to the Online Management API and then retrieve all Customer Engagement instances from your Office 365 tenant.

Related

Exchange 2016 on-premise application access

I have implemented an application which accesses calendars in an Office 356 E3 tenant. I've used the client_credentials flow and obtained Admin Consent. So far everything seems to work as expected.
Now I have a customer how wants to use my application with an Exchange 2016 on-premise setup. Is there a way to use the same application in this setup as well? Or do I have to implement a new application using EWS?
The graph API is not available on on-prem Exchange, so yes, you have to replace the graph API code with EWS code.
Depending on your use case, it is probably possible to abstract it such that your application can use either one or the other.
We had a similar issue.
You can change from Office365 Api to the MsGraph Api which supports many of the same features as the Office365 Api does. Your on premise customer needs to put his Exchange servers into hybrit mode for this. MS explained the necessary steps here.
The only problem we had is that you cant subscribe onto on premise calendars.
Here is the MsGraph Api doc
https://learn.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0
You can also consider switching from Office365 to MsGraph entirely as this should also work for you Office365 customers. As I understand it MS is gonna expand the MsGraph Api in the future giving us a single point of contact for interaction with the Office suite and authentication.
#Marc LaFleur pls correct me if I'm wrong on this

Ability to set users free/busy in MS Exchange Server

We are trying to integrate our app with MS Exchange. One of possible features of that integration is to let other apps know if our app user currently performing some important work, so other users should see him as busy.
All APIs I found allow to get user free/busy status, but not set. Is there public api for a writing side?
The free/busy time option on Microsoft Exchange is generated from the Outlook/Exchange Calendar entries from the users. These infos are fetched from the users calendar by the Availability service as written by Microsoft here. So if you wish to "SET" something, you need to create an calendar entry for the user. If you try to add something to the backend environment which is managed by Microsoft Exchange you might cause issues for the users as they do not see that in there calendars. That is also the reason why you are unable to find a "free/busy time writing API". So please create a calendar entry for your purpose and let the MS Exchange Availability service do the rest.
A good starting point to understand the construct is:
Availability service in Exchange 2013

Integrating with Dynamics CRM - REST vs. XML vs. SDK

I put together some code for accessing CRM using the DLL's provided in the SDK download and tried out both the early binding approach and late binding approach.
What I'd like to do is in addition to having some custom entities that my users will access in Dynamics (through the Dynamics UI in the cloud), I also want to build some Android apps that talk to Dynamics.
My understanding is that I can talk to Dynamics from Android via REST (assuming I properly handle the authentication and getting tokens using ADAL libraries since my Dynamics instances run on the Microsoft cloud) or I can use the SDK with .NET as a middle-tier.
What's the recommended approach? Is there a best practice? When would I use the DLL's provided in the SDK and maybe wrap them in my own Web API vs. connecting to Dynamics directly via REST?
Please help this noob.
Kind of hard to say, depends on your talents and needs. Here is a great website link to get started though:
http://blogs.msdn.com/b/crminthefield/archive/2015/01/12/build-your-own-crm-mobile-app-s.aspx
Just a note on the Rest calls, you can only perform CRUD operations by default, and will need to jump through some hoops to perform the other calls.

How can you get access to the database with Microsoft Dynamics CRM 2013 Online?

We currently use Microsoft Dynamics CRM v4 on-premises. Our data warehouse guys use a direct database link to get access to the data. Is this same functionality possible if you go with the CRM 2013 Online / Cloud option?
If, like I suspect that it's not, what API's are available (if any) to achieve this (or some other method)?
I've searched a lot for this but found nothing.
Dynamics CRM Online doesn't provide direct access to the SQL database.
For interaction with the data is necessary to use the CRM Web Services, REST and SOAP endpoints.

What are service end points in MSCRM 2011?

Tech Friends,
What are service end points in MSCRM 2011?
When I open a solution in MSCRM 2011, I see a separate a separate feature in left panel which is named as "Service end points". I did not find much documentation about the same and also how do we add new service end points?
Name endpoint comes from Enterprise Integration Patterns. You can work with CRM through user interface it provides for you, but there is other option. Your own software is able to interact with CRM, as with service. Interaction goes through the messages, your client software sends to CRM services. So, in this case both, software you are working on and CRM will have endpoints. Your software will have client endpoints, but CRM will have server endpoints. I don't think you need to add new endpoints in CRM, because there are already defined. Just use them sending messages from your code.
The above answer seems to be helpful but here is the response in MSDN Forums which says the endpoints are required for integration with Windows Azure.
Link:
http://social.msdn.microsoft.com/Forums/en-US/crmdevelopment/thread/5fa85ef2-1f6e-44f6-9752-dea120f9d9d0

Resources