Frage

Ich entwickle eine SharePoint-Hosted-App für SharePoint 2013 (in Office365), aber ich habe ein Problem, das auf Listen innerhalb einer SharePoint-hosted-App zugreift.

Mein Code ist gut drucken die Listen, zeigte mir jedoch nur die Liste "Komponiert" und die Listen "Master Page Gallery". Ich kann nicht auf die auf meiner SharePoint erstellten Listen zugreifen.

und wenn ich versuche, auf die Liste "Kontakte" zuzugreifen (welche in der SharePoint-Site vorhanden ist, in der ich die App bereitstellte), hat es diese Ausnahme:

List 'Contacts' existiert nicht mit URL ' https://mysharepointsite-03ea186502297f.sharepoint.com/sphostedapp12

Es scheint also, dass meine App von einem anderen Standort als meiner Hauptseite läuft, und deshalb kann ich nicht auf vorhandene Listen von meiner Haupt-Website zugreifen ...

weiß jemand, wie er dieses löst und auf vorhandene Listen auf der Hauptseite aufgerufen wird?

vielen dank!

Hier ist mein App.js-Code: generasacodicetagpre.

War es hilfreich?

Lösung

Apps funktionieren im Vergleich zu Ihrem Host-Web in einer anderen Domäne. Es ist also ein Cross-Domain-Anruf, wenn Sie versuchen, auf eine Liste zuzugreifen, die sich in Ihrem Host-Web aus Ihrem App-Web befindet. Normalerweise erlauben Browsern, diese Kreuzdomäne aus Sicherheitsgründen nicht zu erstellen. In Apps, um mit dem Host-Web zu interagieren, gibt es jedoch eine Bibliothek namens sp.requestedecutor.js, die eine überkreuzungsübergreifende libary ist, mit der Sie diese Anrufe treffen können. Bitte schauen Sie sich die folgenden Links an, die Ihnen dabei helfen, diese Cross-Domain-Anrufe aufzunehmen, um auf Host-Webdaten in einem App-Web zuzugreifen.

http://msdn.microsoft.com/de-in/library/ FP179927.aspx

http://www.mavention.com/ Blog / SharePoint-App-Lese-Data-von-host-Web

http://blogs.msdn.com/b/officeApps/archive/2012/11/29/solvent-crossdomain-problems-in-apps-for-sharepoint.aspx .

hoffe das hilft.

Andere Tipps

Es hört sich so an, dass Sie vergessen haben, Ihre App-Berechtigungen anzugeben: Liste der Kontakte "Kontakte" nicht mit URL.

Wenn Sie eine App installieren, werden Sie nach den Rechten aufgefordert, auf eine bestimmte Bibliothek oder eine bestimmte Liste zuzugreifen.

Sie müssen so etwas hinzufügen ... Beispiel dafür, wie das Markup in einer App-Manifest aussieht:

<AppPermissionRequests> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"/></AppPermissionRequests>

Um auf die Liste von Host-Web zuzugreifen, müssen Sie sich auf die "Standard-Token" verlassen und dann mit Eithe JSOM oder REST-API, um auf Daten zuzugreifen. generasacodicetagpre.

Dann könnten Sie so etwas verwenden: generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top