Pergunta

Sou muito novo no SalesForce e na linguagem Apex.Estive lendo algumas documentações e tentei a integração entre Google e SalesForce.

Gostaria de saber se é possível emular um token de autenticação do Google para o SalesForce?

Estou tentando ler uma planilha do Google e preencher um objeto SalesForce automaticamente.O login do usuário será sempre o mesmo/universal para esta planilha, portanto tenho as credenciais necessárias para fazer login.Estou trabalhando no exemplo que requer um visualforce e estou me perguntando como faria automaticamente o token de identificação de sessão exigido pela API da planilha do Google.

Alguma ideia?

Foi útil?

Solução

A maneira mais velha e difícil seria enviar um Conecte-se() Ligue para a API (disponível através de mensagens SOAP). A API do Salesforce está bem documentada e muitos exemplos estão disponíveis (tanto em linguagens de programação quanto para Solicitações/respostas em XML bruto).

Mas eu não tenho idéia de quais possibilidades você tem do lado do Google, se for apenas JavaScript, talvez você não consiga enviar e recuperar chamadas do tipo Ajax para outro domínio ...

Recentemente, outra opção surgiu e que é a API REST (sem necessidade de sabão). Parece mais promissor e mais fácil na minha opinião. Introdução rápida está disponível aqui E você encontrará mais documentação na parte inferior da página.

Por último, mas não menos importante - 2 links interessantes:http://code.google.com/apis/gdata/articles/salesforce.html Para algum tutorial de integração e integração interna oferecida pelo Salesforce: http://www.salesforce.com/assets/pdf/datasheets/salesforcegoogleapps.pdf

Outras dicas

Usei configurações personalizadas para fazer isso.Use o OAuth para obter um token para o Google e, em seguida, armazene esse token nas configurações personalizadas do Salesforce (Configuração-Desenvolvimento-Configurações personalizadas).Você pode então recuperar o token para chamadas para o Google a partir dessa configuração personalizada para qualquer usuário que precise de acesso ao Google Apps.A desvantagem é que cada usuário será autenticado como usuário do token de configuração personalizada.A vantagem é que eles não precisarão se autenticar individualmente.As configurações personalizadas podem ser recuperadas via Apex usando um getter simples e funcionam como objetos semelhantes ao Apex.

Lembre-se também de que o Google exige que cada serviço use seu próprio token.Portanto, se o seu usuário quiser usar calendários e planilhas, são dois tokens separados que precisarão ser armazenados e recuperados para a chamada.

Geralmente, permito que os usuários criem seus próprios tokens de sessão autenticados via OAuth, se quiserem fazer isso, e depois façam failover para as configurações personalizadas para obter o token de administrador geral, se necessário.

Você está tentando fazer login no Google Apps a partir do SFDC? Existem opções para aplicativos do Google no Salesforce, vá para Configuração> Configuração de Administração> Aplicativos do Google> Configurações. Eu não usei isso e requer alguma configuração, mas pensei em apontar. Além disso, eu só posso deixar o OAuth (fazer com que os usuários se autentiquem com o Google do Salesforce ao tentar acessar o Google Apps) e SSO (que eu sei que pode ser usado para autenticar de um sistema externo, embora não tenha certeza se ele funciona o outro caminho).

Consulte o menu "Credenciais nomeadas" na configuração do Salesforce.Lá, você pode armazenar credenciais de autenticação dos serviços acessados ​​via Apex:

"Uma credencial nomeada especifica um endpoint de callout e seus parâmetros de autenticação necessários.Ao configurar chamadas, evite definir parâmetros de autenticação para cada chamada fazendo referência a credenciais nomeadas."

uma combinação de nome de usuário/senha pode ser usada, ou um certificado, ou uma assinatura AWS, e há uma opção JWT.

Documentos de ajuda: https://help.salesforce.com/articleView?id=named_credentials_about.htm&type=5

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top