

# Conexão com o LinkedIn
<a name="connecting-to-linkedin"></a>

O LinkedIn é uma ferramenta de marketing paga que oferece acesso às redes sociais do LinkedIn por meio de várias postagens patrocinadas e outros métodos. O LinkedIn é uma poderosa ferramenta de marketing para empresas B2B gerarem leads, obterem reconhecimento online, compartilharem conteúdo e muito mais.

**Topics**
+ [Suporte do AWS Glue para o LinkedIn](linkedin-support.md)
+ [Políticas que contêm as operações de API para criar e usar conexões](linkedin-configuring-iam-permissions.md)
+ [Configuração do LinkedIn](linkedin-configuring.md)
+ [Configuração de conexões do LinkedIn](linkedin-configuring-connections.md)
+ [Leitura de entidades do LinkedIn](linkedin-reading-from-entities.md)
+ [Opções de conexão do LinkedIn](linkedin-connection-options.md)
+ [Criação de uma conta do LinkedIn](linkedin-create-account.md)
+ [Limitações](linkedin-connector-limitations.md)

# Suporte do AWS Glue para o LinkedIn
<a name="linkedin-support"></a>

O AWS Glue oferece suporte ao LinkedIn da seguinte forma:

**Compatível como fonte?**  
Sim. É possível usar trabalhos de ETL do AWS Glue para consultar seus dados do LinkedIn.

**Compatível como destino?**  
Nº

**Versões da API do LinkedIn com suporte**  
** 202406 (junho de 2024) **

# Políticas que contêm as operações de API para criar e usar conexões
<a name="linkedin-configuring-iam-permissions"></a>

O exemplo de política a seguir descreve as permissões da AWS necessárias para criar e usar conexões. Se você estiver criando um novo perfil, crie uma política que contenha o seguinte: 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Se não quiser usar o método anterior, uma alternativa será usar as seguintes políticas do IAM gerenciadas:
+  [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole): concede acesso a recursos que vários processos do AWS Glue exigem para serem executados em seu nome. Esses recursos incluem o AWS Glue, Amazon S3, IAM, CloudWatch Logs e Amazon EC2. Se você seguir a convenção de nomenclatura para os recursos especificados nesta política, os processos do AWS Glue terão as permissões necessárias. Esta política geralmente é anexada a funções especificadas durante a definição de crawlers, trabalhos e endpoints de desenvolvimento. 
+  [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess): concede acesso total aos recursos do AWS Glue quando uma identidade à qual a política está anexada usa o Console de Gerenciamento da AWS. Se você seguir a convenção de nomenclatura para os recursos especificados nesta política, os usuários poderão acessar todos os recursos do console. Esta política geralmente é anexada aos usuários do console do AWS Glue. 

# Configuração do LinkedIn
<a name="linkedin-configuring"></a>

Antes de poder usar o AWS Glue para transferir dados do LinkedIn, os seguintes requisitos deverão ser atendidos:

## Requisitos mínimos
<a name="linkedin-configuring-min-requirements"></a>
+ Você tem uma conta do LinkedIn. Para obter mais informações sobre como criar uma conta, consulte [Criação de uma conta do LinkedIn](linkedin-create-account.md). 
+ A conta do LinkedIn precisa estar habilitada para acesso à API. 
+ Você criou uma integração com a `OAuth2 API` na sua conta do LinkedIn. Essa integração fornece as credenciais de cliente que o AWS Glue usa para acessar seus dados com segurança quando faz chamadas autenticadas para sua conta. Para obter mais informações, consulte [Criação de uma conta do LinkedIn](linkedin-create-account.md).

Se você atender a esses requisitos, poderá conectar o AWS Glue à conta do LinkedIn. Para conexões típicas, você não precisa fazer mais nada no LinkedIn.

# Configuração de conexões do LinkedIn
<a name="linkedin-configuring-connections"></a>

 O LinkedIn oferece suporte ao tipo de concessão `AUTHORIZATION_CODE` para OAuth2. 

Esse tipo de concessão é considerado um `OAuth` de “três pernas”, pois conta com o redirecionamento dos usuários para o servidor de autorização de terceiros para autenticar o usuário. Os usuários podem optar por criar a própria aplicação conectada no LinkedIn e fornecer seus próprios ID e segredo do cliente ao criar conexões por meio do console do AWS Glue. Nesse cenário, eles ainda serão redirecionados para o LinkedIn para fazer login e autorizar o acesso do AWS Glue aos seus recursos. 

Esse tipo de concessão resulta em um token de atualização e um token de acesso. O token de acesso expira 60 dias após a criação. Um novo token de acesso pode ser obtido usando o token de atualização.

Para obter a documentação pública do LinkedIn sobre como criar uma aplicação conectada para o fluxo de `Authorization Code OAuth`, consulte [Fluxo de código de autorização (OAuth de 3 pernas)](https://learn.microsoft.com/en-us/linkedin/shared/authentication/authorization-code-flow?toc=%2Flinkedin%2Fmarketing%2Ftoc.json&bc=%2Flinkedin%2Fbreadcrumb%2Ftoc.json&view=li-lms-2024-07&tabs=HTTPS1).

**Configuração de uma conexão do LinkedIn**

1.  No AWS Secrets Manager, crie um segredo com os seguintes detalhes: 
   + Para uma aplicação conectada gerenciada pelo cliente, o segredo deve conter a aplicação conectada Segredo do consumidor com a chave `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`. 
   + Para uma aplicação conectada gerenciada pela AWS, um segredo vazio ou um segredo com algum valor temporário.
**nota**  
É preciso criar um segredo por conexão em AWS Glue.

1. No AWS Glue Studio, crie uma conexão em **Conexões de dados** seguindo estas etapas: 

   1. Ao selecionar um **Tipo de conexão**, escolha **LinkedIn**.

   1. Forneça o ambiente do LinkedIn.

   1. Selecione o perfil do IAM que o AWS Glue pode assumir e tem permissões para as seguintes ações: 

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1. Selecione o `secretName` que você deseja usar para essa conexão no AWS Glue para colocar os tokens. 

   1. Selecione as **Opções de rede** se quiser usar sua rede. 

1. Conceda permissão ao perfil do IAM associado ao seu trabalho do AWS Glue para ler `secretName`. 

# Leitura de entidades do LinkedIn
<a name="linkedin-reading-from-entities"></a>

**Pré-requisitos** 

Um objeto do LinkedIn do qual você deseja ler. Consulte a tabela de entidades compatíveis abaixo para verificar as entidades disponíveis. 

 **Entidades compatíveis** 


| Entidade | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \$1 | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | 
| Contas de anúncios | Sim | Sim | Sim | Sim | Não | 
| Campanhas | Sim | Sim | Sim | Sim | Não | 
| Grupos de campanhas | Sim | Sim | Sim | Sim | Não | 
| Criativos | Sim | Sim | Sim | Sim | Não | 
| Análise de anúncios | Sim | Não | Não | Sim | Não | 
| Análise de anúncios, todas as contas de anúncios | Sim | Não | Não | Sim | Não | 
| Análise de anúncios, todas as campanhas | Sim | Não | Não | Sim | Não | 
| Análise de anúncios, todos os grupos de campanhas | Sim | Não | Não | Sim | Não | 
| Análise de anúncios, todos os criativos de anúncios | Sim | Não | Não | Sim | Não | 
| Estatísticas de compartilhamentos | Sim | Não | Não | Sim | Não | 
| Estatísticas de páginas | Sim | Não | Não | Sim | Não | 
| Estatísticas de seguidores | Sim | Não | Não | Sim | Não | 

 **Exemplo** 

```
netsuiteerp_read = glueContext.create_dynamic_frame.from_options(
    connection_type="linkedin",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "adaccounts",
        "API_VERSION": "202406"
    }
)
```


**Detalhes de entidade e campo do LinkedIn**  

|  **Tipos de dados de campo**  |  **Operadores de filtro com suporte**  | 
| --- | --- | 
|  String  |  =  | 
|  DateTime  |  BETWEEN, =  | 
|  Numérico  |  =  | 
|  Booleano  |  =  | 

# Opções de conexão do LinkedIn
<a name="linkedin-connection-options"></a>

Estas são as opções de conexão do LinkedIn:
+ `ENTITY_NAME`(string): (obrigatório) usado para leitura/gravação. O nome do seu objeto no LinkedIn. Por exemplo, adAccounts. 
+ `API_VERSION`(string): (obrigatório) usado para leitura/gravação. Versão da API Rest do LinkedIn que você deseja usar. O valor será 202406, pois o LinkedIn atualmente só oferece suporte à versão 202406.
+ `SELECTED_FIELDS`(lista<string>): padrão: vazio (SELECT \$1). Usado para leitura. Colunas que você deseja selecionar para a entidade selecionada. 
+ `FILTER_PREDICATE`(string): padrão: vazio. Usado para leitura. Deve estar no formato Spark SQL. 
+ `QUERY`(string): padrão: vazio. Usado para leitura. Consulta completa do Spark SQL. 

# Criação de uma conta do LinkedIn
<a name="linkedin-create-account"></a>

**Criação de uma aplicação do LinkedIn e credenciais OAuth**

1. Navegue até a página da **Rede de desenvolvedores do LinkedIn** e faça login com as credenciais da sua conta do LinkedIn. 

1. Navegue até a página **Minhas aplicações** e escolha **Criar aplicação** para criar uma nova aplicação do LinkedIn.

1. Insira os detalhes a seguir no formulário de registro da aplicação:
   + **Nome da empresa**: selecione uma empresa existente ou crie uma nova empresa.
   + **Nome**: insira o nome da aplicação.
   + **Descrição**: insira a descrição da aplicação.
   + **Logotipo da aplicação**: selecione um arquivo de imagem como logotipo da aplicação.
   + **Uso da aplicação**: selecione o uso da sua aplicação.
   + **URL do site**: insira o URL do site que contém informações detalhadas sobre sua aplicação.
   + **E-mail comercial**: insira seu endereço de e-mail comercial.
   + **Telefone comercial**: insira seu número de telefone comercial.
   + **Termos de uso da API do LinkedIn**: leia e concorde.

1. Após preencher o formulário de registro da aplicação, escolha **Enviar**.

   Você será redirecionado para a página de **Autenticação**, onde as Chaves de autenticação (ID do cliente e segredo do cliente) e outros detalhes relevantes serão exibidos.

1. Se sua aplicação da Web exigir acesso ao endereço de e-mail do usuário em sua conta do LinkedIn, selecione a permissão `r_emailaddress`. Além disso, é possível especificar URLs de redirecionamento autorizados para sua aplicação do LinkedIn. 

**Criação de uma página na conta do LinkedIn**

1. Navegue até [Produtos para desenvolvedores do LinkedIn](https://developer.linkedin.com/).

1. No canto superior direito da página **Produtos de desenvolvedores do LinkedIn**, selecione **Minhas aplicações**.

1. No canto superior direito da página **Minhas aplicações**, selecione **Criar aplicação**.

1. Na página **Criar uma aplicação**, insira o nome da sua aplicação no campo **Nome da aplicação**.

1. No campo **Página do LinkedIn**, insira o nome ou URL da página da sua empresa.
**nota**  
Se você não tiver uma página do LinkedIn, poderá criar uma selecionando **Criar um novo LinkedIn**. 

1. No campo **URL da política de privacidade**, insira o URL da sua política de privacidade.

1. Escolha **Carregar um logotipo** para fazer upload de uma imagem que será exibida aos usuários quando eles autorizarem sua aplicação.

1. Na seção **Contrato legal**, selecione **Eu li e concordei com estes termos**.

1. Escolha **Criar aplicação**. 

   Sua nova aplicação será criada e estará disponível na guia **Minhas aplicações**.

**Publicação de anúncios de campanha no LinkedIn**

1. Faça login no **Gerenciador de campanhas**. 

1. Selecione um **Grupo de campanha** existente, ou escolha **Criar** para criar um novo.

1. Selecione seu objetivo.

1. Selecione seu grupo, orçamento e cronograma.

1. Crie seu público-alvo.

1. Selecione o formato do seu anúncio.

1. Selecione seu orçamento e cronograma.

1. Configure seu(s) anúncio(s).

1. Analise e execute

# Limitações
<a name="linkedin-connector-limitations"></a>

Para os campos do Analytics `ad_analytics_all_adAccounts`, `ad_analytics_all_campaigns`, `ad_analytics_all_campaign_groups` e `ad_analytics_all_adCreatives`, um filtro é obrigatório para recuperar os registros.