Procédure de déplacement d’un dossier Box dans Salesforce

NRZ.Digital
0 0

Procédure de déplacement d’un dossier Box dans Salesforce

Si votre organisation Salesforce a été intégrée à Box, il se peut que vous deviez déplacer un dossier Box d’un emplacement à un autre. Dans cet article, nous allons apprendre à déplacer correctement un dossier Box dans Salesforce.

Hypothèses

  • L’organisation Salesforce est déjà acquise.
  • Le compte Box est déjà acquis.
  • Le compte Box est déjà intégré à l’organisation Salesforce.

Pas

#1 Créer une application connectée dans Box

  • Connectez-vous au compte box.
  • Cliquer sur Console de développement bouton.
  • Cela ouvrira la console des développeurs Box dans un nouvel onglet.
  • Aller vers Mes applications section du tiroir de navigation de gauche.
  • Cliquez sur « Créer une nouvelle application »

  • Dans l’invite, sélectionnez « Serveur authentification(avec JWT) »dans la section authentification.

  • Donnez un nom d’application tel que « Box-Cust-App »
  • Cliquez sur « Créer une application »
  • Ouvrez maintenant l’application nouvellement créée
  • Accédez à l’onglet «Configuration».
  • Faites défiler jusqu’à la section «Champ d’application».
  • Cochez la case «écrire tous les fichiers et dossiers stockés dans Box».

  • Faites défiler la page jusqu’à la section « Ajouter et gérer des clés publiques »
  • Cliquez sur le bouton «Générer une paire de clés publique / privée».
    (Remarque: l’authentification à deux facteurs doit être activée pour votre compte Box afin de générer une paire de clés publique / privée.)

  • Le navigateur vous invite à télécharger un config.json déposer. Téléchargez le fichier et gardez-le de côté pour le moment. (Nous utiliserons le fichier dans l’une des étapes suivantes)
  • Naccédez à l’onglet « Autorisation » et cliquez sur « Vérifier et soumettre ».
  • Revenez maintenant à la page du compte de la boîte et cliquez sur «Admin Console».
  • Ouvrez «Applications» dans le menu de navigation de gauche.

  • Accédez à l’onglet « Applications personnalisées »

  • Dans cet écran, vous verrez votre application personnalisée renseignée dans la liste que vous avez soumise pour examen plus tôt.
  • Cliquez sur la valeur de la colonne «Statut» de l’application personnalisée et sélectionnez «Autoriser».

# 2 Tirer parti de l’API BOX Move

Dans cette étape, nous utiliserons un script python pour tirer parti de l’API Move de Box afin de déplacer réellement un dossier d’un emplacement à un autre.

  • Créez un projet python dans l’un de vos IDE préférés.
  • À l’aide de pip, installez les packages suivants – boxsdk, jwt.
  • Copiez et collez le fichier «config.json» téléchargé à l’étape précédente dans le dossier racine du projet python.
  • Écrivez le code suivant:

de boxsdk importer OAuth2, client
importer json
importer demandes
de cryptography.hazmat.backends importer default_backend
de cryptography.hazmat.primitives.serialization importer load_pem_private_key
importer temps
importer secrets
importer jwt

config = json.load (ouvert(‘config.json’))

appAuth = config[“boxAppSettings”][“appAuth”]
privateKey = appAuth[“privateKey”]
phrase de passe = appAuth[“passphrase”]

# https://cryptography.io/en/latest/
clé = load_pem_private_key (
data = privateKey.encode (‘utf8’),
mot de passe = passphrase.encode (‘utf8’),
backend = default_backend (),
)

authentication_url = ‘https://api.box.com/oauth2/token’

revendications = {
‘iss’: config[‘boxAppSettings’][‘clientID’],
‘sub’: config[‘enterpriseID’],
‘box_sub_type’: ‘entreprise’,
‘aud’: authentification_url,
‘jti’: secrets.token_hex (64),
‘exp’: rond(heure.heure ()) + 45
}

keyId = config[‘boxAppSettings’][‘appAuth’][‘publicKeyID’]

assertion = jwt.encode (
réclamations,
clé,
algorithme = ‘RS512’,
en-têtes = {
‘kid’: keyId
}
)

params = {
‘grant_type’: ‘urn: ietf: params: oauth: grant-type: jwt-bearer’,
‘assertion’: assertion,
‘client_id’: config[‘boxAppSettings’][‘clientID’],
‘client_secret’: config[‘boxAppSettings’][‘clientSecret’]
}
response = requests.post (authentification_url, paramètres)

oauth = OAuth2 (
client_id = config[‘boxAppSettings’][‘clientID’],
client_secret = config[‘boxAppSettings’][‘clientSecret’],
access_token = response.json ()[‘access_token’]
)

client = Client (oauth)

updated_folder = client.folder (folder_id = ‘130048807913 ′). update_info ({
« parent »: {
« Id »: « 129688895492 »
}
})

impression(‘Dossier mis à jour!’)

Le code ci-dessus utilise le fichier config.json afin de générer le jeton d’accès qui sera utilisé lors de l’exécution des opérations API:

  • La chose importante à modifier dans le code ci-dessus est de modifier l’id du dossier (nous l’appelons CHILD FOLDER) qui doit être déplacé d’un emplacement à un autre (nous l’appelons PARENT FOLDER).
  • Faites défiler jusqu’à la section et mettez à jour les identifiants en conséquence:
    updated_folder = client.folder (folder_id = ‘‘) .update_info ({
    « parent »: {
    « Id »: « « 
    }
    })

Noter: Vous pouvez trouver l’ID d’un dossier par les méthodes suivantes:

  1. Vous pouvez obtenir l’identifiant d’un dossier directement à partir du lien de la boîte qui est du format ci-dessous:
    https://app.box.com/folder/130048807913
  2. Vous pouvez obtenir les identifiants de dossier depuis le portail Salesforce Workbench en interrogeant les tables ci-dessous: box__Folder_Meta__c – Contient des enregistrements pour les dossiers enfants.box__FolderId__c – Contient des enregistrements pour les dossiers parents.

# 3 Synchroniser les données dans Salesforce

  • Ouvrez la page des paramètres de la boîte dans Salesforce.
  • Cliquez sur le bouton «Synchroniser maintenant».

# 4 Mettre à jour les entrées dans les tables Salesforce

La dernière étape consiste à mettre à jour la table box__FRUP__c qui contient les enregistrements mappant l’ID du dossier enfant avec le nom du dossier parent.

  • Ouvrez la fenêtre de la console d’exécution APEX et exécutez le code ci-dessous: box__FRUP__c[] frup = nouvelle liste ();
    essayer{
    frup = [
    SELECT
    box__Folder_ID__c,
    box__Object_Name__c,
    box__Record_ID__c
    from
    box__FRUP__c
    where
    box__Record_ID__c = ‘<SOURCE_CHILD_FOLDER_ID>’
    ];
    Liste listToUpdate = nouvelle Liste ();
    pour (box__FRUP__c item: frup) {
    box__Object_Name__c = ‘‘;
    item.box__Record_ID__c = ‘‘; listToUpdate.add (élément);
    }
    update listToUpdate;
    } catch (DmlException e) {
    System.debug (‘Une erreur inattendue s’est produite:’ + e.getMessage ());
    }


Happy
Happy
0
Sad
Sad
0
Excited
Excited
0
Sleppy
Sleppy
0
Angry
Angry
0
Surprise
Surprise
0

Average Rating

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Laisser un commentaire

Next Post

Tour d'horizon des médias sociaux | Janvier 2021

Temps de lecture estimé: 5 minutes Notre tour d’horizon des réseaux sociaux est de retour et meilleur que jamais en 2021 et quelques-unes de nos chaînes préférées apportent à nouveau des modifications à leurs plates-formes ce mois-ci, y compris des modifications mineures aux mises à jour majeures. De la nouvelle […]

Abonnez-vous maintenant