I am using Access and Sharepoint 2010. I am writing a python script, which periodically reads tables, checks some conditions, and eventually writes e-mail notifications. I do not have permission to access the Sharepoint server directly. Also [1]:
Directly interacting with a SharePoint content database will cause your SharePoint installation to lose Microsoft support.
The simplest solution for now would be to download the database through access, but first, I don't know how to do this programatically. Second, when extending my application I might need to update Database as well.
So my best bet seems to be using SOAP. When I use Access to publish a simple table to Sharepoint [2], afaik I can read and write it through Sharepoints SOAP API provided by .../_vti_bin/Lists.asmx [3]. I can see in All Site Content that the table is a ListNode (when I hover over the link with the mousepointer, I can see the javascript function that gets called with the parameters containing "...Listnode..."). But when I publish a more complex database from Access, an accdb with forms, it is a WebNode instead of a Listnode. When I select it in All Site Content, I can click on Options->Settings where I get a list of the tables of the published database. How can I access a particular table from this list from my python script through SOAP? An example would be much appriciated.
So far I got this:
from suds import WebFault
from suds.client import *
from suds.transport.https import WindowsHttpAuthenticated # for https authentification
USER = r'Domain\02345434' #the number is the user id
PWD = 'secret'
#My guess is that you need webs.asmx for accessing WebNodes instead of ListNodes
URL = 'https://mysite.sharepointserver.com/_vti_bin/webs.asmx?WSML'
ntml = WindowsHttpAuthenticated(username=USER, password=PWD)
client = Client(URL, transport=ntml, timeout=200, cache=None)
#try to get some info
#http://msdn.microsoft.com/en-us/library/webs.webs.getwebcollection%28v=office.12%29.aspx
print client.service.GetWebCollection() #fails with SaxParseException: <unknown>:1:0:syntax error
[1] How to Remotely Access SharePoint Database
[2] http://blogs.technet.com/b/hub/archive/2010/11/08/publish-your-access-database-to-sharepoint.aspx
[3] http://www.developer.com/tech/article.php/3104621/SharePoint-and-Web-Services.htm