O365 GRAPH API

 Tópico anterior Próximo tópico Novo tópico

O365 GRAPH API

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#489735 - 31/07/2019 17:53:30

ALEVALE
JUNDIAI
Cadast. em:Março/2012


Alguém poderia me ajudar a converter esse código ou me enviar um exemplo de como eu consumo a api do Office 365 para verificar as informações dos usuários, olha to apanhando nisso.

Eu vou fazer algo via windows forms e não web e não achei exemplos para isso.

https://www.c-sharpcorner.com/article/get-all-organization-users-from-o365-using-graph-api/

---------------------------------------------------------------
"Já está provado por A+B que A+B num prova nada"
---------------------------------------------------------------

#489736 - 31/07/2019 18:14:17

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Os passos estão todos ali, bem descritos. O primeiro é registrar sua app no azure. Fez isso?

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#489740 - 31/07/2019 19:33:19

ALEVALE
JUNDIAI
Cadast. em:Março/2012


Citação:
:
Os passos estão todos ali, bem descritos. O primeiro é registrar sua app no azure. Fez isso?


Sim já registrei a aplicação e depois até criei a funçao de validação do token, mas não achei o exemplo de como consumir a api pegando os dados dos usuários.


---------------------------------------------------------------
"Já está provado por A+B que A+B num prova nada"
---------------------------------------------------------------

#489747 - 01/08/2019 01:41:54

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
É simplesmente um WebClient ou RestClient.

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#489753 - 01/08/2019 10:56:50

ALEVALE
JUNDIAI
Cadast. em:Março/2012


Desculpa mas webservices não é minha especilidade, tem alguma referência que consiga olhar ?

---------------------------------------------------------------
"Já está provado por A+B que A+B num prova nada"
---------------------------------------------------------------

#489757 - 01/08/2019 17:04:43

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Uma boa oportunidade pra começar a aprender!

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#489764 - 01/08/2019 21:25:00

ALEVALE
JUNDIAI
Cadast. em:Março/2012


Olha falta de vontade não é pq to quebrando a cabeça o dia todo...

Não entendi ainda como eu crio o token pois ele depois de criar ele pede o resource que eu acho que seria as apis que quero consumir, consegue me dar um help ?

'LOAD
                'Dim activeDirectoryClient As ActiveDirectoryClient = New ActiveDirectoryClient(New Uri("https://graph.windows.net/" & _azureDomain), Async Function() Await GetTokenAsync("https://graph.microsoft.com/v1.0/me/", "XXXXX", "YYYYY"))
        Dim user As IUser = activeDirectoryClient.Users.Where(Function(u) u.UserPrincipalName = "EMAIL").ExecuteSingleAsync().Result
        Console.WriteLine("DisplayName: " & user.DisplayName)
        Console.WriteLine("GivenName: " & user.GivenName)
        Console.WriteLine("Surname: " & user.Surname)

Public Shared Async Function GetTokenAsync(ByVal resource As String, ByVal clientId As String, ByVal secrect As String) As Task(Of String)
            Dim authority As String = "????"
            Dim authContext As AuthenticationContext = New AuthenticationContext(authority)
            Dim clientCredential As ClientCredential = New ClientCredential("clientId", "secrect")
            Dim authResult As AuthenticationResult = Await authContext.AcquireTokenAsync(resource, clientCredential)
            Return authResult.AccessToken
End function


---------------------------------------------------------------
"Já está provado por A+B que A+B num prova nada"
---------------------------------------------------------------

#489765 - 02/08/2019 16:52:19

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Algum avanço?
Caso não, baixe o Postman e use-o para testar as chamadas.

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#489773 - 03/08/2019 12:01:58

ALEVALE
JUNDIAI
Cadast. em:Março/2012


Olha vou te falar que estou apanhando, estou começando a entender como funciona, mas estou com algumas dúvidas, pois achei alguns exemplos e cara hora um é de um jeito, hora passa o scope que são as permissões que aplicação tem acesso outras não..vamos ver...

---------------------------------------------------------------
"Já está provado por A+B que A+B num prova nada"
---------------------------------------------------------------

#489775 - 03/08/2019 12:57:14

ALEVALE
JUNDIAI
Cadast. em:Março/2012


Quase lá...aonde até aonde eu evolui.


    Public authString As String = "https://login.microsoftonline.com/common/oauth2/nativeclient"
    Public clientID As String = ConfigurationManager.AppSettings("ida:ClientId")
    Public clientSecret As String = ConfigurationManager.AppSettings("ida:ClientSecret")
    Public resAzureGraphAPI As String = "https://graph.windows.net"
    Public serviceRootURL As String = "https://graph.microsoft.com/v1.0/me/"

        Try
            Dim serviceRoot As Uri = New Uri(serviceRootURL)
            Dim adClient As ActiveDirectoryClient = New ActiveDirectoryClient(serviceRoot, Async Function() Await GetAppTokenAsync())

            Dim upn As String = "EMAIL"
            Dim user As IUser = adClient.Users.Where(Function(u) u.UserPrincipalName = upn).ExecuteAsync().Result
            Console.WriteLine("DisplayName: " & user.DisplayName)
            Console.WriteLine("GivenName: " & user.GivenName)
            Console.WriteLine("Surname: " & user.Surname)

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    Private Shared Async Function GetAppTokenAsync() As Task(Of String)
        Try
            Dim authenticationContext As AuthenticationContext = New AuthenticationContext(authString, False)
            Dim clientCred As ClientCredential = New ClientCredential(clientID, clientSecret)
            Dim authenticationResult As AuthenticationResult = Await authenticationContext.AcquireTokenAsync(resAzureGraphAPI, clientCred)
            Return authenticationResult.AccessToken

        Catch ex As Exception

        End Try

    End Function


Porém no retorno do dados do usuário (IUser) ele está gerando o erro um ou mais erros e não descreve mais nada do erro, estou achando que é o tipo do objeto de retorno que está errado.
O token está funcionando agora : )

---------------------------------------------------------------
"Já está provado por A+B que A+B num prova nada"
---------------------------------------------------------------

#489826 - 06/08/2019 20:20:33

ALEVALE
JUNDIAI
Cadast. em:Março/2012


 Anexos estao visíveis somente para usuários registrados

Segue o erro

---------------------------------------------------------------
"Já está provado por A+B que A+B num prova nada"
---------------------------------------------------------------

 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário