SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




REST API Dokument erzeugen

Unbeantwortet Dieser Beitrag hat 13 Antworten

Ohne Rang
116 Beiträge
Dennis94 erstellt 3 Nov. 2017 08:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

Ich würde gern über die REST API in SharePoint Online ein Dokument in einer Dokumentenbibliothek erzeugen. Hierzu benutzen ich diesen Endpunkt:

http://site url/_api/web/lists/GetByTitle('Test')/items

mit diesem body:

{ '__metadata': { 'type': 'SP.ListItem' }, 'Title': 'Test'}

Ich bekomme jedoch die Fehlermeldung ungültige Anforderung. Kann mir da jemand weiterhelfen?

Gruß Dennis

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 3 Nov. 2017 09:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

https://msdn.microsoft.com/en-us/library/office/dn450841.aspx#bk_FileCollectionAdd

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
116 Beiträge
Dennis94 Als Antwort am 3 Nov. 2017 09:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ah, super. Vielen Dank :)

Ohne Rang
116 Beiträge
Dennis94 Als Antwort am 3 Nov. 2017 10:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich hätte noch eine andere Frage.

In einer SharePoint Bibliothek gibt es ja so ein Suchfeld, um nach den Dokumenten zu suchen. Ich habe einige Spalten (Firmenname, Firmennummer, Adresse, ...), die alle identisch angelegt sind und zwar als einfache Textzeile. Ich habe hier dann das Problem, dass ich in Adresse oder Firmennummer problemlos über dieses Suchfeld die entsprechenden Dokumente finde (z.B. alle Dokumente mit Adresse "Testweg 1"). Bei der Spalte Firmenname funktioniert es aber einfach nicht, egal was ich mache. Beispiel: Suche alle Dokumente mit Firmenname "SAP" liefert kein Ergebnis.

Hast du da vielleicht auch eine Idee, woran das liegen könnte?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 3 Nov. 2017 10:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sind die Spalten alle manuell angelegt worden oder ist der Firmenname z.B. die umbenannte Titelspalte? Und schaue mal in Websiteeinstellungen - Suchschema und was Du dort zu den Spalten findest.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
116 Beiträge
Dennis94 Als Antwort am 3 Nov. 2017 10:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Die Spalten sind alle von mir neu als Websitespalten angelegt worden. Im Suchschema von Firmenname war neben den Eigenschaften die bei allen anderen waren (Firmenname0OWSTEXT, FirmennameOWSTEXT) noch was mit RefinableString (ich erinnere mich, dass ich damit mal etwas rumgespielt habe..:D). bei Firmenname0OWSTEXT und FirmennameOWSTEXT ist jeweils nur der Typ auf Text gesetzt, sonst alles leer. So sieht es bei den anderen auch aus.

Ohne Rang
116 Beiträge
Dennis94 Als Antwort am 6 Nov. 2017 10:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe nochmal eine Frage zu REST:

Man kann ja mit GetFileByServerRelativeUrl(relativeUrl)/Property sich die Eigenschaften (z.B. Titel) von Dokumenten ausgeben lassen. Funktioniert das auch für selbst erstellte Spalten? Habe eine Spalte Token, die ich gerne auslesen würde. Ist das so oder eventuell anders möglich?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Nov. 2017 10:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das geht exakt genauso. Du mußt nur darauf achten, den internen Namen der Spalten zu verwenden. Das ist der XML-kodierte Name, der bei der Neuanlage der Spalte angegeben wurde. Du siehst ihn, wenn Du z.B. in den Listeneinstellungen auf eine Spalte klickst in der Adresszeile des Browsers.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
116 Beiträge
Dennis94 Als Antwort am 6 Nov. 2017 11:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du meinst hier oder?

https://contoso.sharepoint.com/sites/Dokumente/_layouts/15/FldEdit.aspx?List=%7B06480B2B-B70D-463B-9FD6-0F8FD116E047%7D&Field=Token

da wäre "Token" der interne Name oder?

Wenn ich es mit "Token" probiere, also

 GetFileByServerRelativeUrl(relativeUrl)/Token

Bekomme ich die Fehlermeldung ungültige Anforderung :/

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Nov. 2017 12:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Dennis94"]da wäre "Token" der interne Name oder?[/quote]

Exakt.

[quote user="Dennis94"]GetFileByServerRelativeUrl(relativeUrl)/Token

Bekomme ich die Fehlermeldung ungültige Anforderung [/quote]

Und z.B. mit Title funktioniert das (habs nicht versucht)? Dann wäre das echt seltsam...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
116 Beiträge
Dennis94 Als Antwort am 6 Nov. 2017 12:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, mit Title oder Author usw. funktioniert es. Mit selbst erzeugten oder auch der Dokumenten-ID leider nicht. :(

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Nov. 2017 12:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Was ist das denn für ein Spaltentyp? Und bist Du sicher, daß die Spalte auch zur Bibliothek bzw. zum Inhaltstyp des Dokuments gehört?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
116 Beiträge
Dennis94 Als Antwort am 7 Nov. 2017 08:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Es handelt sich dabei um eine einzelne Textzeile. In der Bibliothek ist die Spalte definitiv. Inhaltstypen habe ich mehrere in der Bibliothek. Habe die Spalte jetzt mal zu allen hinzugefügt und teste dann nochmal. Vielleicht lag es ja da dran

Ohne Rang
116 Beiträge
Dennis94 Als Antwort am 7 Nov. 2017 08:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Habe die Lösung gefunden. Anstatt "GetFileByServerRelativeUrl(relativeUrl)/Property" muss man noch ein "ListItemAllFields" einbauen, also

"GetFileByServerRelativeUrl(relativeUrl)/ListItemAllFields/Property"

Trotzdem Vielen Dank Andi für deine Hilfe und Mühe :)