2016-04-18 10 views
0

Ich habe Probleme mit der TFS Rest API für Git, um einen Baum abrufen.Problem mit TFS Git Rest api zum Abrufen von Baum

Der entsprechende Code ist

$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" 
$headers.Add("Accept", 'application/zip') 
$DownloadTreeCmd = "http://tfs.mycompany.com:8080/tfs/myCollection/_apis/git/repositories/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx/trees/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?api-version=1.0&filename=TempDownload.zip&recursive=1" 

$nresp = Invoke-RestMethod $DownloadTreeCmd -UseDefaultCredentials -Headers $headers 

ich mit etwas in dem $ nrest am Ende, die ich nicht lesen kann. Ich habe versucht, es in eine Datei zu schreiben, aber es wird nicht als Zip-Datei erkannt. Ich kann Daten in I als Binärdaten sehen.

Was soll ich mit diesen Daten machen?

Antwort

0

Es funktioniert, aber ich kann nicht erklären, warum es vorher nicht funktionierte.

Ich habe das zur Arbeit, aber ich bin mir nicht sicher, ob ich das verstehe. Der Dateiname-Parameter auf der URI scheint nichts zu tun. Das zurückgegebene Objekt kann nicht in einer Datei vom Typ .zip gespeichert werden (tatsächlich können Sie es speichern, aber zip erkennt es nicht als Archiv).

Um dies zu erledigen, habe ich einfach den Dateinamen aus der URI-Anfrage entfernt und -OutFile xxxx.zip zum Invoke-RestMethod-Cmdlet hinzugefügt.