Automatisez le Téléchargement Sécurisé de Fichiers sur SharePoint

Ce workflow n8n permet une intégration fluide entre vos systèmes internes et SharePoint pour automatiser le téléchargement sécurisé de fichiers. En utilisant des tokens d'accès sécurisés, vous pouvez uploader des images ou documents directement dans les dossiers de votre choix sur SharePoint. Ce processus élimine les tâches manuelles répétitives, réduit les erreurs humaines et améliore l'efficacité opérationnelle. Les entreprises peuvent ainsi se concentrer sur des tâches à plus forte valeur ajoutée tout en assurant la sécurité et l'intégrité des données.

64,063 vues
27,331 copies
Intégration

Documentation Complète

📋 Automatisez le Téléchargement Sécurisé de Fichiers sur SharePoint

💡 Description

Ce workflow n8n permet une intégration fluide entre vos systèmes internes et SharePoint pour automatiser le téléchargement sécurisé de fichiers. En utilisant des tokens d'accès sécurisés, vous pouvez uploader des images ou documents directement dans les dossiers de votre choix sur SharePoint. Ce processus élimine les tâches manuelles répétitives, réduit les erreurs humaines et améliore l'efficacité opérationnelle. Les entreprises peuvent ainsi se concentrer sur des tâches à plus forte valeur ajoutée tout en assurant la sécurité et l'intégrité des données.

📈 Impact & ROI: Réduit considérablement le temps consacré aux téléchargements manuels, diminue le risque d'erreurs humaines et améliore la sécurité des informations grâce à l'authentification sécurisée.

🚀 Fonctionnalités Clés

  • ✅ Téléchargement automatique de fichiers vers SharePoint - Simplifie la gestion documentaire
  • ✅ Authentification sécurisée via OAuth - Assure la protection des données sensibles
  • ✅ Configuration facile du chemin de destination - Flexibilité et personnalisation
  • ✅ Réduction des tâches manuelles - Augmente l'efficacité et réduit les erreurs

📊 Architecture Technique

9
Nodes
5
Connexions
3
Services

🔌 Services Intégrés

Microsoft Graph APISharePointHTTP Request

🔧 Composition du Workflow

NodeTypeDescription
When clicking ‘Test workflow’manualTriggerTraitement des données
Upload photohttpRequestRequête HTTP vers une API externe
Set config (sensitive data)setTraitement des données
Get photo (for testing purposes)httpRequestRequête HTTP vers une API externe
Set destinationsetTraitement des données
Sticky NotestickyNoteTraitement des données
Sticky Note1stickyNoteTraitement des données
Sticky Note2stickyNoteTraitement des données
AuthenticationhttpRequestRequête HTTP vers une API externe

📖 Guide d'Implémentation

  1. Import du workflow: Téléchargez le fichier JSON et importez-le dans votre instance n8n
  2. Configuration des credentials: Configurez les accès pour chaque service utilisé
  3. Personnalisation: Adaptez les paramètres selon vos besoins spécifiques
  4. Test: Exécutez le workflow en mode test pour vérifier le bon fonctionnement
  5. Activation: Activez le workflow pour une exécution automatique

🏷️ Tags

SharePointAutomatisationHTTP RequestSécurité

Structure JSON

Voir le code JSON complet
{
    "meta": {
        "instanceId": "97d44c78f314fab340d7a5edaf7e2c274a7fbb8a7cd138f53cc742341e706fe7",
        "templateCredsSetupCompleted": true
    },
    "nodes": [
        {
            "id": "1ec0e1ad-0666-417b-b5af-b381b06e126f",
            "name": "When clicking ‘Test workflow’",
            "type": "n8n-nodes-base.manualTrigger",
            "position": [
                -120,
                180
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "id": "c34a92d3-b4bd-4c2f-9fa0-66832729a31c",
            "name": "Upload photo",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                980,
                180
            ],
            "parameters": {
                "url": "=https:\/\/graph.microsoft.com\/v1.0\/sites\/root\/drive\/root:{{ $json.TARGET_FOLDER }}\/{{ $json.FILE_NAME }}:\/content",
                "method": "PUT",
                "options": [],
                "sendBody": true,
                "contentType": "binaryData",
                "sendHeaders": true,
                "headerParameters": {
                    "parameters": [
                        {
                            "name": "Authorization",
                            "value": "=Bearer {{ $json.access_token }}"
                        },
                        {
                            "name": "Content-Type",
                            "value": "application\/octet-stream"
                        }
                    ]
                },
                "inputDataFieldName": "data"
            },
            "typeVersion": 4.2
        },
        {
            "id": "49ce594c-83c7-4b47-be03-6811ebdcc57b",
            "name": "Set config (sensitive data)",
            "type": "n8n-nodes-base.set",
            "position": [
                100,
                180
            ],
            "parameters": {
                "options": [],
                "assignments": {
                    "assignments": [
                        {
                            "id": "399d42f3-41e0-4043-9a57-85771bf5cd07",
                            "name": "TENANT_ID",
                            "type": "string",
                            "value": "00000000-0000-0000-0000-000000000000"
                        },
                        {
                            "id": "dd63a519-3681-46c4-b122-ab379ed11c42",
                            "name": "CLIENT_ID",
                            "type": "string",
                            "value": "00000000-0000-0000-0000-000000000000"
                        },
                        {
                            "id": "4d50c934-c306-4198-853a-68198b8b84eb",
                            "name": "CLIENT_SECRET",
                            "type": "string",
                            "value": "uU~8Q~THEQLIE2TX7UsecretT2g_JCADyxBxN0bx3"
                        }
                    ]
                }
            },
            "typeVersion": 3.4
        },
        {
            "id": "53b78aa9-d86f-461b-bff5-bd2a63a693b5",
            "name": "Get photo (for testing purposes)",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                540,
                180
            ],
            "parameters": {
                "url": "https:\/\/fastly.picsum.photos\/id\/459\/200\/300.jpg?hmac=4Cn5sZqOdpuzOwSTs65XA75xvN-quC4t9rfYYyoTCEI",
                "options": []
            },
            "typeVersion": 4.2
        },
        {
            "id": "a551951c-f192-4b15-accb-ca936baef9a8",
            "name": "Set destination",
            "type": "n8n-nodes-base.set",
            "position": [
                760,
                180
            ],
            "parameters": {
                "options": [],
                "assignments": {
                    "assignments": [
                        {
                            "id": "9f66b3f9-c161-45f4-bdc0-8cf736b53eda",
                            "name": "TARGET_FOLDER",
                            "type": "string",
                            "value": "\/uploads\/pictures from n8n"
                        },
                        {
                            "id": "e8584729-2746-48a0-ad80-d0308a49e195",
                            "name": "FILE_NAME",
                            "type": "string",
                            "value": "example.jpg"
                        }
                    ]
                },
                "includeOtherFields": true
            },
            "typeVersion": 3.4
        },
        {
            "id": "66129973-bf5f-4799-b676-2ee40fd2b519",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -240,
                -220
            ],
            "parameters": {
                "width": 320,
                "height": 200,
                "content": "## Prerequisites\n1. [Create an application user](https:\/\/learn.microsoft.com\/en-us\/power-platform\/admin\/manage-application-users)\n2. Ensure the following permissions are set:\n- Sites.ReadWrite.All - for SharePoint site access\n- Files.ReadWrite.All - for file upload operations\n"
            },
            "typeVersion": 1
        },
        {
            "id": "43bbf2cd-3ac5-4c46-b3c0-bd6158dbe25e",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                160,
                -280
            ],
            "parameters": {
                "width": 320,
                "height": 340,
                "content": "## Authentication\nFor a succesful authentication it is required to provide:\n\n- TENANT_ID\n- CLIENT_ID\n- CLIENT_SECRET\n---\n## Attention!\nFor demonstration purposes and template restrictions we store these values in a 'Set' node but in production environment please ensure safety of such data via utilizing credentials, secure vault or any other safe way of storing such information."
            },
            "typeVersion": 1
        },
        {
            "id": "daa3e6b9-a9ea-4bb4-8e2d-faa516c699ea",
            "name": "Sticky Note2",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                620,
                -280
            ],
            "parameters": {
                "width": 440,
                "height": 340,
                "content": "## Set destination\nIn this step we will set the destination.\nThe destination is made of two parameters:\n\n- TARGET_FOLDER\n- FILE_NAME\n---\n### Example\nLet's say this is our desired file location:\n`https:\/\/contoso.sharepoint.com\/uploads\/pictures from n8n\/example.jpg`\n\nThus we will set the following:\n- TARGET_FOLDER = `\/uploads\/pictures from n8n`\n- FILE_NAME = `example.jpg`\n"
            },
            "typeVersion": 1
        },
        {
            "id": "52bd314b-6a5e-499a-904e-a7e9becbbd59",
            "name": "Authentication",
            "type": "n8n-nodes-base.httpRequest",
            "notes": "Get an access token for graph API",
            "position": [
                320,
                180
            ],
            "parameters": {
                "url": "=https:\/\/login.microsoftonline.com\/{{ $json.TENANT_ID }}\/oauth2\/token",
                "method": "POST",
                "options": [],
                "sendBody": true,
                "contentType": "form-urlencoded",
                "bodyParameters": {
                    "parameters": [
                        {
                            "name": "grant_type",
                            "value": "client_credentials"
                        },
                        {
                            "name": "client_id",
                            "value": "={{ $json.CLIENT_ID }}"
                        },
                        {
                            "name": "client_secret",
                            "value": "={{ $json.CLIENT_SECRET }}"
                        },
                        {
                            "name": "resource",
                            "value": "https:\/\/graph.microsoft.com"
                        }
                    ]
                }
            },
            "notesInFlow": true,
            "typeVersion": 4.2
        }
    ],
    "pinData": [],
    "connections": {
        "Authentication": {
            "main": [
                [
                    {
                        "node": "Get photo (for testing purposes)",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Set destination": {
            "main": [
                [
                    {
                        "node": "Upload photo",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Set config (sensitive data)": {
            "main": [
                [
                    {
                        "node": "Authentication",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get photo (for testing purposes)": {
            "main": [
                [
                    {
                        "node": "Set destination",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "When clicking ‘Test workflow’": {
            "main": [
                [
                    {
                        "node": "Set config (sensitive data)",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
                                

Workflows Similaires

Optimisation de la gestion des Pull Requests avec Pipedrive

Ce workflow permet d'automatiser le suivi des Pull Requests GitHub en les intégrant directement dans Pipedrive. Lorsqu'...

Synchronisation Automatisée des Événements Discord et Google Calendar

Ce workflow puissant automatise la synchronisation des événements programmés sur Discord avec Google Calendar, garant...

Automatisez les commandes Squarespace vers Google Sheets

Ce workflow automatise le processus de récupération des commandes de Squarespace et leur enregistrement dans Google Sh...