Histórico da Página
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#include "protheus.ch"
//-------------------------------------------------------------------
/*/{Protheus.doc} gDrive
Função de teste de consumo de oAuth2 do Google Drive
@author Daniel Mendes
@since 08/09/2022
@version 1.0
/*/
//-------------------------------------------------------------------
user Function gDrive()
local cAppKey as character
local cAppSecret as character
local oAuth as object
local cResult as character
cAppKey := "MinhaChaveDeAplicação"
cAppSecret := "MeuSegredoDeAplicação"
oAuth := FWGoogleDrive():New(cAppKey, cAppSecret)
oAuth:GetMethods(.T.)
oAuth:SetScopes({"https://www.googleapis.com/auth/drive"})
cResult := oAuth:Access("https://www.googleapis.com/drive/v3/files")
MsgInfo(cResult, "FWoAuth2Client - Resultado")
oAuth:Destroy()
FreeObj(oAuth)
return
//-------------------------------------------------------------------
/*/{Protheus.doc} FWGoogleDrive
Classe de consumo do oAuth2 do Google Drive
@author Daniel Mendes
@since 08/09/2022
@version 1.0
/*/
//-------------------------------------------------------------------
class FWGoogleDrive from FWoAuth2Client
data aScopes as array
method New() constructor
method Destroy()
method ClassName()
method SetScopes()
endclass
//-------------------------------------------------------------------
/*/{Protheus.doc} New
Método construtor
@param cConsumer, character, chave da aplicação
@param cSecret, character, segredo da aplicação
@return self, object, instância da classe
@author Daniel Mendes
@since 08/09/2022
@version 1.0
/*/
//-------------------------------------------------------------------
Method New(cConsumer, cSecret) Class FWGoogleDrive
Local cAuth_uri as character
Local cToken_uri as character
Local oURL as object
cAuth_uri := "https://accounts.google.com/o/oauth2/auth"
cToken_uri := "https://oauth2.googleapis.com/token"
oURL := FwoAuth2Url():New(cAuth_uri, cToken_uri)
_Super:New(cConsumer, cSecret, oURL)
::SetGrantInUrl(.F.)
::SetAuthInHeader(.F.)
::SetScopes({"https://www.googleapis.com/auth/drive"})
::SetAsCode()
::SetQueryAuthorization()
return self
//-------------------------------------------------------------------
/*/{Protheus.doc} Destroy
Método destrutor da classe
@author Daniel Mendes
@since 08/09/2022
@version 1.0
/*/
//-------------------------------------------------------------------
method Destroy() Class FWGoogleDrive
::aScopes := aSize(::aScopes, 0)
return _Super:Destroy()
//-------------------------------------------------------------------
/*/{Protheus.doc} ClassName
Retorna o nome da classe
@return character
@author Daniel Mendes
@since 08/09/2022
@version 1.0
/*/
//-------------------------------------------------------------------
method ClassName() Class FWGoogleDrive
return "FWGoogleDrive"
//-------------------------------------------------------------------
/*/{Protheus.doc} SetScopes
Efetua o set dos scopes
@param aScopes, array, scopes
@return logical, indica se o Set foi efetuado corretamente
@author Daniel Mendes
@since 08/09/2022
@version 1.0
/*/
//-------------------------------------------------------------------
method SetScopes(aScopes) Class FWGoogleDrive
local cScope as character
local nI as numeric
default aScopes := {}
::aScopes := aScopes
for nI := 1 to Len(aScopes)
if nI == 1
cScope := "scope="+aScopes[nI]
else
cScope += "," + aScopes[nI]
endif
next
::SetAuthOptions(cScope)
return Len(aScopes) > 0
|
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas