Versão atual:

Como executar uma requisição via webservice Rest consumindo serviço do Fluig com autenticação OAuth 1.0?

Estou desenvolvendo uma rotina ADVPL para o Protheus 12.1.25 consumir um serviço REST no Fluig.O ambiente Fluig está disponível e já consigo executar o request, consumindo um metodo GET através do POSTMAN e também pelo SOAPUI.Porém, quando escrevo a rotina ADVPL, não estou conseguindo, por estar falhando a autenticação.O Fluig me forneceu as seguintes informações para realizar o consumo do webserviceObservação( os conteúdos abaixo foram alterados, são apenas um exemplo, portanto não vão funcionar se tentarem acessar)URL: https://nomedocliente.fluig.cloudtotvs.com.br/ecm-forms/api/v2/cardindex/6/cardsMetódo: GET

A) Parâmetrosoauth_signature: a72c17bb269520f8b1b82887239f&2dcf5fcc-9b34-43-9f66-f9d498f96755a676-8601-4e4c-a521-0c49c28e88b9oauth_signature_method: PLAINTEXToauth_timestamp: 1425187401oauth_token: 05999a6f-acab-4adc-b7a8-17a92342e6fcoauth_version: 1.0

B) AutenticaçãoTipo: OAuth 1.0Signature Method: PLAINTEXTConsumer Key: 191925a3355f6a7266a4575d723ddf8cConsumer Secret: a72c17b20f8b1b8b2695e84f2887239fAccess Token: 0599966f-adcb-4cda-b765-17392342e6fcToken Secret: 2dcf5fcc-9b34-43db-9f66-f9da98f901ef6a55a616-8c01-4e4c-a521-0c49c28e88b9

Montei uma rotina em ADVPL passando no Header os parâmetros do item (A) acima.Minha dúvida é : como faço a passagem dos parametros no "HttpQuote" do item (B) - Autenticação ?

Exemplo da rotina construida:

cMethod := 'GET' cServer := 'https://nomedocliente.fluig.cloudtotvs.com.br' cURi := '/ecm-forms/api/v2/cardindex/6/cards' cGetParms := "" aHeadStr := {} cHeadRet := "" cPostParms := "" cGetParms := "" nTimeout := 5 AAdd(aHeadStr, 'oauth_signature:a72c17bb269520f8b1b82887239f&2dcf5fcc-9b34-43-9f66-f9d498f96755a676-8601-4e4c-a521-0c49c28e88b9') AAdd(aHeadStr, 'oauth_signature_method:PLAINTEXT') AAdd(aHeadStr, 'oauth_timestamp:1425187401') AAdd(aHeadStr, 'oauth_token:05999a6f-acab-4adc-b7a8-17a92342e6fc') AAdd(aHeadStr, 'oauth_version:1.0') jReturn := HttpQuote(cServer+cUri, cMethod, cGetParms, cPostParms, nTimeOut, aHeadStr, @cHeadRet)

Após a execução, retorna: JRETURN(C) : { "code": "FDNUnauthenticatedAccessDeniedException", "message": "Unauthorized access.", "detailedMessage": "It is necessary to log on", "helpUrl": null, "details": null }

Certamente porque falta realizar a autenticação, mas como se faz isso para o tipo "oAuth 1.0"?

Versão (1):

Ver a versão formatada

Como executar uma requisição via webservice Rest consumindo serviço do Fluig com autenticação OAuth 1.0?

Comentário

new question