Jetzt teilnehmen:Online-Umfrage zur Verbesserung von DRACOONMehr Infos

Freigabe und SMS-Versand per PowerShell

Kommentare

4 Kommentare

  • Offizieller Kommentar
    Avatar
    Michael Netter

    Hi Manfred,

    textMessageRecipients is an array. Therefore, you must define textMessageRecipients as an JSON array in PowerShell, see https://stackoverflow.com/questions/40230443/json-array-in-powershell

    Kind regards

    Michael

    Aktionen für Kommentare Permalink
  • Avatar
    Manfred Hofmann

    Vielen Dank

    Hier nochmal der Code Vollständigkeit halber:

     

    #Authentifizierung an Dracoon

    $BaseUrl = "https://123456789.dracoon.cloud"
    $APIUrl = $BaseUrl + "/api"
    $TokenUrl = $BaseUrl + '/oauth/token'
    $Username = "aaa@bbb.de"
    $Password = "0815"
    $ClientId = "aaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    $ClientSecret = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"

    # Login ueber OAuth
    $Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $ClientId,$ClientSecret)))
    $Body = @{
        "grant_type" = "password" 
        "username" = $Username
         "password" = $Password 
         }
    $Response = Invoke-WebRequest -URI $TokenUrl -Method Post -ContentType "application/x-www-form-urlencoded" -Body $Body -Headers @{Authorization=("Basic {0}" -f $Base64AuthInfo)}
    $Content = ConvertFrom-Json $Response.content
    $Token = $Content.access_token
    #######################

    $parameter= @{
        nodeId = "123"
        password = "passwort"
        textMessageRecipients = @(0151123456789)
        receiverLanguage = "de-DE"
    }    
        #expiration = @{
        #                "enableExpiration" = true
        #                "expireAt" = "2020-08-21T21:59:59.552Z"
        #                }
    $AccountUrl = $APIUrl + "/v4/shares/downloads"
    $Response = Invoke-WebRequest -URI $AccountUrl -Method Post -ContentType "application/json" -Headers @{Authorization=("Bearer {0}" -f $Token)} -Body (convertTo-Json $parameter)
    $content = ConvertFrom-Json $Response.content
    $DracoonCustomerLink = $BaseUrl + "/public/download-shares/" + $content.accessKey
    write-host "LOG: DownloadLink -> " $DracoonCustomerLink

     

    Grüße

    Manfred Hofmann

    0
    Aktionen für Kommentare Permalink
  • Avatar
    Michael Netter

    Thank you for providing your final solution. We are glad that you succeeded and your script is now working.

    0
    Aktionen für Kommentare Permalink
  • Avatar
    Sascha Spiekermann

    This use case can be solved by using my published PowerShell module, you may take a look at https://github.com/Callidus2000/Dracoon/blob/master/docs/useCases/Publish-FilesFromCSVwithDracoon.ps1

    0
    Aktionen für Kommentare Permalink

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.