getting list for documents from external sharepoint site - c#

There is a external sharepoint site --> http://(Servername)/FrmsRep/Lists/Sagicor%20Forms%20Repository/AllItems.aspx
I need to get a list for documents from here to my C# webpart.
How would I do that? I've been trying to search but can't find anything :-( OR I do not know what to search.

For external sharepoint site you could use
SharePoint Client Object Model - it use SharePoint Web Services
SharePoint Web Services e.g. Lists Web Service
ADO.NET Data Services

Related

Programmatically crawl Sharepoint 2013

I'm new to the SharePoint 2013 .Net Client API. I want to programmatically crawl all of a SharePoint site. I want to fully extract lists, document, pages, everything!
Ideally I want to start with the root of the website and crawl everything from there.
Can someone give a high-level overview of the basic steps involved? For example, do I need to create a catalog, or can I simply crawl if I have the admin credentials?
I'm using C#, .Net 4.0, and the Client runtime API (not REST).
Some of the links that were helpful for me :
1. Crawling with Rest API or PowerShell - Start a crawl manually via SOAP or REST WebService
2. Recrawling using code - http://sebastian.expert/force-web-whole-list-library-re-crawled-search-sharepoint-2013-using-api/
I believe that everything in SharePoint lives under a List. Essentially, I fetch the Lists belonging to a Web and fetch all the ListItems from those. I ignore Folder and File collections as these are duplicates.

Querying through a list of documents and its contents with Sharepoint 2010 Services

I am currently developing an application using Sharepoint 2010 Web services to access data from a Sharepoint server. Im using ListData.svc to get items of a particular list of documents saved in the SP server, and my aim is to be able to search through this list, including its documents contents. I have been researching through options, and have seen stuff like asmx, enterprise search API, query services, etc., but I am not quite sure if this would really crawl through the file contents.
Can you enlighten me on what web service to use to be able to search through a particular list of files-- all its properties and file contents? Similar to the search option in an actual Sharepoint site?
Thanks!
Id expect a quick google on "Sharepoint 2010 search api" to yield up https://msdn.microsoft.com/en-us/library/office/websvcspsearch(v=office.14).aspx which says "Search in Microsoft SharePoint Foundation 2010 exposes its search functionalities through the Query Web service. This allows you to access SharePoint Foundation Search results from client applications and Web applications outside of the context of a SharePoint site."
I guess if you read those docs, the solution will be in there.

Create list using C# CSOM in a subsite on Office SharePoint O365

We have a SharePoint 2013 Provider-Hosted App using C# CSOM that has been deployed to a Developer site under the root site. One of the requirements of our app is that it should be able to create lists in the site where the app is deployed and trusted as well as to subsites below this site, once the user has access. However, when trying to create a list on a subsite of the developer site we get a 403 Forbidden error.
Is there any way to create lists on subsites from our app or am I only able to create lists on the site my app was deployed to?
You need to use an AppOnlyAccessToken (TokenHelper.GetAppOnlyAccessToken()) to do this, as well as allow the app to make App-Only calls in SharePoint.

Connect to Sharepoint 2003 in C# WPF

I'm creating a WPF application that should list holiday details from a Sharepoint 2003 server. What would be the proper libraries to use? Am I relegated to COM objects or do .NET libraries exist that are compatible with SP 2003?
There are 2 ways:
a. Using Sharepoint web services
Suppose your sharepoint server URL is as follows
https://MyDomain/MySite/default.aspx
Then replace default.aspx with /_vti_bin/lists.asmx to get list of web services expose by sharepoint.
https://MyDomain/MySite/_vti_bin/lists.asmx
This will provide you with list of all operations exposed by service.
You can use GetList to get calendar list and check if you get desired result.
b. Uisng Sharepoint object model and Microsoft.Sharepoint.dll (WPF application can run on same server where sharepoint is installed)

My existing webparts won't work in SharePoint

I have a standard ASP.NET 2.0 website.
It has a webpage page.
I have a webpart in my Company.Web.dll that I display on my webpart page on my website.All is good!!!
I would like to use this same webpart in SharePoint 2007.
I have a "site definition" project in VS2008 using Extensions for SharePoint 1.2. I have tried various ways to add the webpart from an outside assembly to my site definition. I have been able to deploy the webpart (where it is added to the webpart list of a webpart page) but I have been unsuccessful at adding the it to a page.
My Glorious Failures:
Created a shell webpart to just display the existing web part, basically just using my part as a control.
Attempted to modify the X.webpart and X.xml files created by VS2008 when you create a new webpart.
Both result in the following error while adding the web part to the page:
Exception
Microsoft.SharePoint.WebPartPages.WebPartPageUserException:
Cannot import XXXX Web Part.
at Microsoft.SharePoint.WebPartPages.WebPartImporter.CreateWebPart(Boolean
clearConnections) at
Microsoft.SharePoint.WebPartPages.WebPartImporter.Import(SPWebPartManager
manager, XmlReader reader, Boolean
clearConnections, Uri webPartPageUri,
SPWeb spWeb) at
Microsoft.SharePoint.WebPartPages.WebPartImporter.Import(SPWebPartManager
manager, XmlReader reader, Boolean
clearConnections, SPWeb spWeb) at
Microsoft.SharePoint.WebPartPages.WebPartQuickAdd.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String
eventArgument)
Is there a special way I need to add my existing webpart to my site definition?
This sounds like a problem resolving the GUID at deployment time, as you can read about in this SO question.
To find the details of why the web part won't import, check the ULS logs. These are typically located at %CommonProgramFiles%\Microsoft Shared\web server extensions\12\LOGS. An entry will be logged here at the time you attempt to add the web part to the page. This should give you more detail.
My guess is that it is a code access security issue. Your web part must be strongly signed and needs a SafeControl entry in the web.config of the SharePoint web application. Apart from these things you should be able to just add it to the Global Assembly Cache to test if it works (best practice is to write a CAS policy file). See Deploying Web Parts in Windows SharePoint Services for more details.
I would try these steps before trying to integrate it as part of a site definition. Then at least you know the web part will actually run.
Also, VSeWSS is really designed for developing your web part using it from the very start. If you have the original source, you could try creating a new web part with VSeWSS and then replace with your custom code and update the .webpart and feature XML files. Then it should behave a little better. If you haven't committed to VSeWSS, try WSPBuilder as it's less painful.
ASP.NET webparts and Sharepoint Webparts are NOT the same. You should be able to use a ASPNET webpart within Sharepoint. See the following table:
ASP.NET 2.0 Web Part
For most business needs.
To distribute your Web Part to sites that run ASP.NET 2.0 or SharePoint sites.
When you want to reuse one or more Web Parts created for ASP.NET 2.0 sites on SharePoint sites.
To use data or functionality provided by Windows SharePoint Services 3.0. For example, you are creating a a Web Part that works with site or list data.
SharePoint-based Web Part
When you want to migrate a set of Web Parts using the SharePoint-based Web Part infrastructure to Windows SharePoint Services 3.0.
To create cross page connections.
To create connections between Web Parts that are outside of a Web Part zone.
To work with client-side connections (Web Part Page Services Component).
To use a data-caching infrastructure that allows caching to the content database.
For a Sharepoint webpart to work in a standard ASPNET application you would need to recreate your webparts in Visual Studio (as an ASPNET webpart) without the Sharepoint 2007 references for it to work correctly.
One nifty tool which I have used in the past is the SmartPart Worth checking out:
This lets you create a ASP.NET usercontrol (visually) in Visual Studio and then host this in Sharepoint. The smartpart acts as a wrapper wepart for your user control. Think of it like the page viewer webpart in Sharepoint except instead of it being HTML pages its ASP.NET UserControls.
You would need WSS 3.0, SharePoint MOSS or 2007 to use ASP.NET 2.0 WebParts. SharePoint 2003 or below and WSS 2.0 or below do not support ASP.NET WebParts.

Categories