

# Conexión a LinkedIn
<a name="connecting-to-linkedin"></a>

LinkedIn es una herramienta de marketing de pago que ofrece acceso a las redes sociales de LinkedIn a través de diversas publicaciones patrocinadas y otros métodos. LinkedIn es una herramienta de marketing potente para que las empresas B2B generen clientes potenciales, reconocimiento en línea, compartan contenidos y mucho más.

**Topics**
+ [Compatibilidad de AWS Glue con LinkedIn](linkedin-support.md)
+ [Políticas que contienen las operaciones de la API para crear y usar conexiones](linkedin-configuring-iam-permissions.md)
+ [Configuración de LinkedIn](linkedin-configuring.md)
+ [Configuración de conexiones a LinkedIn](linkedin-configuring-connections.md)
+ [Cómo leer de entidades de LinkedIn](linkedin-reading-from-entities.md)
+ [Opción de conexión a LinkedIn](linkedin-connection-options.md)
+ [Cómo crear una cuenta de LinkedIn](linkedin-create-account.md)
+ [Limitaciones](linkedin-connector-limitations.md)

# Compatibilidad de AWS Glue con LinkedIn
<a name="linkedin-support"></a>

AWS Glue es compatible con LinkedIn de la siguiente manera:

**¿Es compatible como origen?**  
Sí. Puede usar los trabajos de ETL de AWS Glue para consultar datos de LinkedIn.

**¿Es compatible como destino?**  
No.

**Versiones de la API de LinkedIn compatibles**  
** 202406 (junio de 2024) **

# Políticas que contienen las operaciones de la API para crear y usar conexiones
<a name="linkedin-configuring-iam-permissions"></a>

En el siguiente ejemplo de política se describen los permisos de AWS necesarios para crear y utilizar conexiones. Si va a crear un nuevo rol, cree una política que contenga lo siguiente: 

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

****  

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

------

Si no desea utilizar el método anterior, como alternativa, utilice las siguientes políticas de IAM administradas:
+  [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole): concede acceso a los recursos que necesitan diversos procesos de AWS Glue para ejecutarse en su nombre. Entre estos recursos se incluyen AWS Glue, Amazon S3, IAM, CloudWatch Logs y Amazon EC2. Si aplica la convención de nomenclatura en los recursos especificados en esta política, los procesos de AWS Glue tienen los permisos necesarios. Normalmente, esta política se asocia a los roles que se especifican a la hora de definir rastreadores, trabajos y puntos de conexión de desarrollo. 
+  [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess): concede acceso total a los recursos de AWS Glue cuando una identidad a la que está asociada la política utiliza la consola de administración de AWS. Si sigue la convención de nomenclatura para los recursos especificados en esta política, los usuarios dispondrán de todas las funciones de la consola. Esta política se suele adjuntar a los usuarios de la consola AWS Glue. 

# Configuración de LinkedIn
<a name="linkedin-configuring"></a>

Antes de poder utilizar AWS Glue para transferir desde LinkedIn, deberá cumplir los siguientes requisitos:

## Requisitos mínimos
<a name="linkedin-configuring-min-requirements"></a>
+ Tener una cuenta de LinkedIn. Para obtener más información sobre cómo crear una cuenta, consulte [Creación de una cuenta de LinkedIn](linkedin-create-account.md). 
+ La cuenta de LinkedIn debe estar habilitada para el acceso a la API. 
+ Haber creado una integración de `OAuth2 API` en la cuenta de LinkedIn. Esta integración proporciona las credenciales de cliente que AWS Glue utiliza para acceder a los datos de forma segura cuando hace llamadas autenticadas a la cuenta. Para obtener más información, consulte [Cómo crear una cuenta de LinkedIn](linkedin-create-account.md).

Si cumple estos requisitos, estará listo para conectar AWS Glue a la cuenta de LinkedIn. Para conexiones típicas, no necesita hacer nada más en LinkedIn.

# Configuración de conexiones a LinkedIn
<a name="linkedin-configuring-connections"></a>

 LinkedIn admite el tipo de concesión `AUTHORIZATION_CODE` para OAuth2. 

Este tipo de concesión se considera un `OAuth` “de tres vías”, ya que se basa en redirigir a los usuarios al servidor de autorización externo para autenticar al usuario. Los usuarios aún pueden optar por crear una aplicación conectada propia en LinkedIn y proporcionar un ID y secreto de cliente propios al crear conexiones a través de la consola de AWS Glue. En este escenario, aún se abrirá LinkedIn para iniciar sesión y autorizar a AWS Glue para que acceda a sus recursos. 

Este tipo de concesión da lugar tanto a un token de actualización como a un token de acceso. El token de acceso caduca 60 días después de su creación. Se puede obtener un nuevo token de acceso mediante el token de actualización.

Para consultar la documentación pública de LinkedIn sobre la creación de una aplicación conectada para el flujo de `Authorization Code OAuth`, consulte [Flujo de código de autorización (OAuth de 3 vías)](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).

**Configuración de una conexión a LinkedIn**

1.  En AWS Secrets Manager, cree un secreto con los siguientes detalles: 
   + En el caso de una aplicación conectada administrada por el cliente, el secreto debe contener el secreto del consumidor de la aplicación conectada con la clave `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`. 
   + En el caso de una aplicación conectada administrada por AWS: secreto vacío o un secreto con algún valor temporal.
**nota**  
Es imprescindible crear un secreto por conexión en AWS Glue.

1. En AWS Glue Studio, siga los pasos que se indican a continuación en **Conexiones de datos** para crear una conexión: 

   1. Al seleccionar un **Tipo de conexión**, elija **LinkedIn**.

   1. Proporcione el entorno de LinkedIn.

   1. Seleccione el rol de IAM que AWS Glue puede asumir y que cuente con los permisos necesarios para realizar las siguientes acciones: 

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

****  

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

------

   1. Seleccione el `secretName` que desee usar para esta conexión en AWS Glue para colocar los tokens. 

   1. Seleccione las **opciones de red** si quiere usar la red. 

1. Conceda el rol de IAM asociado a su permiso de trabajo de AWS Glue para leer `secretName`. 

# Cómo leer de entidades de LinkedIn
<a name="linkedin-reading-from-entities"></a>

**Requisitos previos** 

Un objeto de LinkedIn desde el que desea leer. Consulte la tabla de entidades compatibles que aparece a continuación para comprobar las entidades disponibles. 

 **Entidades compatibles** 


| Entidad | Se puede filtrar | Admite límite | Admite Ordenar por | Admite Seleccionar \$1 | Admite Partición | 
| --- | --- | --- | --- | --- | --- | 
| Cuentas de anuncios | Sí | Sí | Sí | Sí | No | 
| Campañas | Sí | Sí | Sí | Sí | No | 
| Grupos de campañas | Sí | Sí | Sí | Sí | No | 
| Creativos | Sí | Sí | Sí | Sí | No | 
| Análisis de anuncios | Sí | No | No | Sí | No | 
| Análisis de anuncios: todas las AdAcocunts | Sí | No | No | Sí | No | 
| Análisis de anuncios: todas las campañas | Sí | No | No | Sí | No | 
| Análisis de anuncios: todos los CampaignGroups | Sí | No | No | Sí | No | 
| Análisis de anuncios: todos los AdCreatives | Sí | No | No | Sí | No | 
| Compartir estadísticas | Sí | No | No | Sí | No | 
| Estadísticas de la página | Sí | No | No | Sí | No | 
| Estadísticas de seguidores | Sí | No | No | Sí | No | 

 **Ejemplo** 

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


**Detalles de entidades y campos de LinkedIn**  

|  **Tipo de datos de los campos**  |  **Operadores de filtro admitidos**  | 
| --- | --- | 
|  Cadena  |  =  | 
|  DateTime  |  BETWEEN, =  | 
|  Numérico  |  =  | 
|  Booleano  |  =  | 

# Opción de conexión a LinkedIn
<a name="linkedin-connection-options"></a>

Las siguientes son opciones de conexión para LinkedIn:
+ `ENTITY_NAME`(cadena): (obligatorio) se utiliza para leer y escribir. El nombre del objeto en LinkedIn. Por ejemplo, adAccounts. 
+ `API_VERSION`(cadena): (obligatorio) se utiliza para leer y escribir. Versión de la API de REST de LinkedIn que desea usar. El valor será 202406, ya que LinkedIn actualmente solo admite la versión 202406.
+ `SELECTED_FIELDS`(lista<Cadena>): predeterminado: empty(SELECT \$1). Se usa para leer. Columnas que desea seleccionar para la entidad seleccionada. 
+ `FILTER_PREDICATE`(cadena): predeterminado: vacío. Se usa para leer. Debe estar en el formato de Spark SQL. 
+ `QUERY`(cadena): predeterminado: vacío. Se usa para leer. Consulta completa de Spark SQL. 

# Cómo crear una cuenta de LinkedIn
<a name="linkedin-create-account"></a>

**Cómo crear una aplicación de LinkedIn y credenciales de OAuth**

1. Vaya a la página de la **Red de desarrolladores de LinkedIn** e inicie sesión con las credenciales de la cuenta de LinkedIn. 

1. Vaya a la página **Mis aplicaciones** y elija **Crear aplicación** para crear una nueva aplicación de LinkedIn.

1. Ingrese los siguientes datos en el formulario de registro de la aplicación:
   + **Nombre de la empresa**: seleccione una empresa existente o cree una nueva.
   + **Nombre**: ingrese el nombre de la aplicación.
   + **Descripción**: ingrese la descripción de la aplicación.
   + **Logotipo de la aplicación**: seleccione un archivo de imagen como logotipo de la aplicación.
   + **Uso de la aplicación**: seleccione el uso de la aplicación.
   + **URL del sitio web**: ingrese la URL del sitio web que contiene información detallada sobre la aplicación.
   + **Correo electrónico empresarial**: ingrese la dirección de correo electrónico empresarial.
   + **Teléfono empresarial**: ingrese el número de teléfono empresarial.
   + **Términos de uso de la API de LinkedIn**: lea y acepte.

1. Al completar el formulario de registro de la aplicación, seleccione **Enviar**.

   Se le redirigirá a la página **Autenticación**, donde aparecerán las claves de autenticación (ID de cliente y secreto de cliente) y otros detalles relevantes.

1. Si la aplicación web necesita acceder a la dirección de correo electrónico del usuario desde su cuenta de LinkedIn, seleccione el permiso `r_emailaddress`. Además, puede especificar las URL de redireccionamiento autorizadas para la aplicación de LinkedIn. 

**Cómo crear una página en una cuenta de LinkedIn**

1. Vaya a [Productos de LinkedIn para desarrolladores](https://developer.linkedin.com/).

1. En la esquina superior derecha de la página **Productos de LinkedIn para desarrolladores**, seleccione **Mis aplicaciones**.

1. En la esquina superior derecha de la página **Mis aplicaciones**, seleccione **Crear aplicación**.

1. En la página **Crear una aplicación**, en el campo **Nombre de la aplicación**, ingrese el nombre de la aplicación.

1. En el campo **Página de LinkedIn**, ingrese el nombre o la URL de la página de la empresa.
**nota**  
Si no tiene una página de LinkedIn, puede crear una. Para ello, seleccione **Crear una nueva página de LinkedIn**. 

1. En el campo **URL de la política de privacidad**, ingrese la URL de la política de privacidad.

1. Elija **Cargar un logotipo** para cargar una imagen que se mostrará a los usuarios cuando se autoricen con la aplicación.

1. En la sección **Contrato jurídico**, seleccione **He leído y acepto estos términos**.

1. Seleccione **Crear una aplicación**. 

   Se creará la nueva aplicación, que estará disponible en la pestaña **Mis aplicaciones**.

**Cómo publicar anuncios de campaña en LinkedIn**

1. Inicie sesión en el **Administrador de Campañas**. 

1. Seleccione un **Grupo de campaña** existente, o elija **Crear** para crear uno nuevo.

1. Seleccione el objetivo.

1. Seleccione el grupo, el presupuesto y el horario.

1. Establezca el público objetivo.

1. Seleccione el formato del anuncio.

1. Seleccione el presupuesto y el horario.

1. Configure el anuncio o los anuncios.

1. Revise y lance.

# Limitaciones
<a name="linkedin-connector-limitations"></a>

Para los campos `ad_analytics_all_adAccounts`, `ad_analytics_all_campaigns`, `ad_analytics_all_campaign_groups` y `ad_analytics_all_adCreatives` de Analytics, se necesita un filtro para recuperar los registros.