Using R to connect to a sharepoint list











up vote
10
down vote

favorite
3












Has anyone been able to import a SharePoint list in R as a dataframe?



I have two separate data sources, one from a SharePoint list and the other from a DB that I wish to run an analysis on. I am able to connect to the DB without any problem but can't seem to find anything to connect to a SharePoint list.



The SharePoint server is 2007










share|improve this question
























  • would it be possible to provide an example? it is also possible to import your list into something else (e.g. xls, txt ...) then import it to R
    – user1267127
    Mar 1 '15 at 13:03










  • Hi @Memo, the list itself is basically just an online excel sheet that users can update themselves. Its basically a feedback form for other parts of the business to update simultaneously based on operations that occur on the ground. I know its possible to directly link to the sheet using Ms access or with SQL server with a bit of difficulty but I was hoping there was a package that allowed you to do it similiarly to python where it treats the sharepoint list as just another table
    – John Smith
    Mar 1 '15 at 18:52















up vote
10
down vote

favorite
3












Has anyone been able to import a SharePoint list in R as a dataframe?



I have two separate data sources, one from a SharePoint list and the other from a DB that I wish to run an analysis on. I am able to connect to the DB without any problem but can't seem to find anything to connect to a SharePoint list.



The SharePoint server is 2007










share|improve this question
























  • would it be possible to provide an example? it is also possible to import your list into something else (e.g. xls, txt ...) then import it to R
    – user1267127
    Mar 1 '15 at 13:03










  • Hi @Memo, the list itself is basically just an online excel sheet that users can update themselves. Its basically a feedback form for other parts of the business to update simultaneously based on operations that occur on the ground. I know its possible to directly link to the sheet using Ms access or with SQL server with a bit of difficulty but I was hoping there was a package that allowed you to do it similiarly to python where it treats the sharepoint list as just another table
    – John Smith
    Mar 1 '15 at 18:52













up vote
10
down vote

favorite
3









up vote
10
down vote

favorite
3






3





Has anyone been able to import a SharePoint list in R as a dataframe?



I have two separate data sources, one from a SharePoint list and the other from a DB that I wish to run an analysis on. I am able to connect to the DB without any problem but can't seem to find anything to connect to a SharePoint list.



The SharePoint server is 2007










share|improve this question















Has anyone been able to import a SharePoint list in R as a dataframe?



I have two separate data sources, one from a SharePoint list and the other from a DB that I wish to run an analysis on. I am able to connect to the DB without any problem but can't seem to find anything to connect to a SharePoint list.



The SharePoint server is 2007







r sharepoint dataframe sharepoint-list






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 20 at 16:20









zx8754

29.1k76396




29.1k76396










asked Mar 1 '15 at 10:04









John Smith

78911852




78911852












  • would it be possible to provide an example? it is also possible to import your list into something else (e.g. xls, txt ...) then import it to R
    – user1267127
    Mar 1 '15 at 13:03










  • Hi @Memo, the list itself is basically just an online excel sheet that users can update themselves. Its basically a feedback form for other parts of the business to update simultaneously based on operations that occur on the ground. I know its possible to directly link to the sheet using Ms access or with SQL server with a bit of difficulty but I was hoping there was a package that allowed you to do it similiarly to python where it treats the sharepoint list as just another table
    – John Smith
    Mar 1 '15 at 18:52


















  • would it be possible to provide an example? it is also possible to import your list into something else (e.g. xls, txt ...) then import it to R
    – user1267127
    Mar 1 '15 at 13:03










  • Hi @Memo, the list itself is basically just an online excel sheet that users can update themselves. Its basically a feedback form for other parts of the business to update simultaneously based on operations that occur on the ground. I know its possible to directly link to the sheet using Ms access or with SQL server with a bit of difficulty but I was hoping there was a package that allowed you to do it similiarly to python where it treats the sharepoint list as just another table
    – John Smith
    Mar 1 '15 at 18:52
















would it be possible to provide an example? it is also possible to import your list into something else (e.g. xls, txt ...) then import it to R
– user1267127
Mar 1 '15 at 13:03




would it be possible to provide an example? it is also possible to import your list into something else (e.g. xls, txt ...) then import it to R
– user1267127
Mar 1 '15 at 13:03












Hi @Memo, the list itself is basically just an online excel sheet that users can update themselves. Its basically a feedback form for other parts of the business to update simultaneously based on operations that occur on the ground. I know its possible to directly link to the sheet using Ms access or with SQL server with a bit of difficulty but I was hoping there was a package that allowed you to do it similiarly to python where it treats the sharepoint list as just another table
– John Smith
Mar 1 '15 at 18:52




Hi @Memo, the list itself is basically just an online excel sheet that users can update themselves. Its basically a feedback form for other parts of the business to update simultaneously based on operations that occur on the ground. I know its possible to directly link to the sheet using Ms access or with SQL server with a bit of difficulty but I was hoping there was a package that allowed you to do it similiarly to python where it treats the sharepoint list as just another table
– John Smith
Mar 1 '15 at 18:52












3 Answers
3






active

oldest

votes

















up vote
11
down vote



accepted










I've been working on reading SharePoint 2010 lists using R for a little while now. Basically, I use the SharePoint web service to return the results from the list, then use xmlToDataFrame to convert to a dataframe.



URL <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"    
data = xmlParse(readLines(URL))

## get the individual list items
items = getNodeSet(data, "//m:properties")

## convert to a data frame
df = xmlToDataFrame(items, stringsAsFactors = FALSE)


Since I'm using the web service I can filter the list before I return the results, which is really helpful in overcoming the limitations of the SharePoint web service. The following link is quite helpful...
http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/21/introduction-to-querying-lists-with-rest-and-listdata-svc-in-sharepoint-2010.aspx






share|improve this answer




























    up vote
    3
    down vote













    Lee Mendoza's answer may well work if ListData.svc is running and/or you have administrative access to the SharePoint server.



    If both of those aren't true: the following might work. At least it does for me on SharePoint 2010. If there's a better way of doing it when ListData.svc isn't present, I'd love to hear it.



     library(RCurl)
    library(XML)
    library(data.table)
    URL <- "http://<site>/_vti_bin/owssvr.dll?Cmd=Display&Query=*&XMLDATA=TRUE&List={GUID_OF_LIST}"
    rawData <- getURL(URL, userpwd = "username:password")
    # in real life prompt for user credentials, don't put in script
    xmlData <- xmlParse (rawData, options=HUGE, useInternalNodes=TRUE)
    dataList <- xmlToList(xmlRoot(xmlData)[["data"]])
    # check the system return, on my SP2010 server the data block is
    # named rs:data so this works
    dataMatrix <- do.call(rbind,dataList)
    finalDataTable <- data.table(dataMatrix)





    share|improve this answer

















    • 1




      I can't get this part getURL(URL, userpwd = "username:password")... no matter what I put in, I get a 403 forbidden. I've tried putting in my credentials a couple of different ways... any suggestions? When you put in <site>, how much info should be included after xxxx.sharepoint.com?
      – Amit Kohli
      Sep 22 '15 at 11:04


















    up vote
    0
    down vote













    The answer above works for lists which are <= 1000 rows only. Using "$Top" and "$Skip" in the URL, you can use the function below which iterates multiple times and imports all the data from the list regardless of the size. (This may not be the most clean way to write it, but it works!)



    sp_import <- function(ListName) {

    urlstring <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"
    data <- xmlParse(readLines(paste(urlstring, ListName, sep = ""), warn = FALSE))
    items <- getNodeSet(data, "//m:properties")
    df <- xmlToDataFrame(items, stringsAsFactors = FALSE)
    iterate <- nrow(df)
    skip <- 1

    while (nrow(df) == 1000 * skip) {
    data <- xmlParse(readLines(paste(urlstring, ListName, "?$top=1000&$skip=", iterate, sep = ""), warn = FALSE))
    items <- getNodeSet(data, "//m:properties")
    df <- rbind(df, xmlToDataFrame(items, stringsAsFactors = FALSE))
    iterate <- nrow(df)
    skip <- skip + 1
    }
    return(df)
    }





    share|improve this answer





















      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f28792265%2fusing-r-to-connect-to-a-sharepoint-list%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      11
      down vote



      accepted










      I've been working on reading SharePoint 2010 lists using R for a little while now. Basically, I use the SharePoint web service to return the results from the list, then use xmlToDataFrame to convert to a dataframe.



      URL <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"    
      data = xmlParse(readLines(URL))

      ## get the individual list items
      items = getNodeSet(data, "//m:properties")

      ## convert to a data frame
      df = xmlToDataFrame(items, stringsAsFactors = FALSE)


      Since I'm using the web service I can filter the list before I return the results, which is really helpful in overcoming the limitations of the SharePoint web service. The following link is quite helpful...
      http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/21/introduction-to-querying-lists-with-rest-and-listdata-svc-in-sharepoint-2010.aspx






      share|improve this answer

























        up vote
        11
        down vote



        accepted










        I've been working on reading SharePoint 2010 lists using R for a little while now. Basically, I use the SharePoint web service to return the results from the list, then use xmlToDataFrame to convert to a dataframe.



        URL <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"    
        data = xmlParse(readLines(URL))

        ## get the individual list items
        items = getNodeSet(data, "//m:properties")

        ## convert to a data frame
        df = xmlToDataFrame(items, stringsAsFactors = FALSE)


        Since I'm using the web service I can filter the list before I return the results, which is really helpful in overcoming the limitations of the SharePoint web service. The following link is quite helpful...
        http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/21/introduction-to-querying-lists-with-rest-and-listdata-svc-in-sharepoint-2010.aspx






        share|improve this answer























          up vote
          11
          down vote



          accepted







          up vote
          11
          down vote



          accepted






          I've been working on reading SharePoint 2010 lists using R for a little while now. Basically, I use the SharePoint web service to return the results from the list, then use xmlToDataFrame to convert to a dataframe.



          URL <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"    
          data = xmlParse(readLines(URL))

          ## get the individual list items
          items = getNodeSet(data, "//m:properties")

          ## convert to a data frame
          df = xmlToDataFrame(items, stringsAsFactors = FALSE)


          Since I'm using the web service I can filter the list before I return the results, which is really helpful in overcoming the limitations of the SharePoint web service. The following link is quite helpful...
          http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/21/introduction-to-querying-lists-with-rest-and-listdata-svc-in-sharepoint-2010.aspx






          share|improve this answer












          I've been working on reading SharePoint 2010 lists using R for a little while now. Basically, I use the SharePoint web service to return the results from the list, then use xmlToDataFrame to convert to a dataframe.



          URL <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"    
          data = xmlParse(readLines(URL))

          ## get the individual list items
          items = getNodeSet(data, "//m:properties")

          ## convert to a data frame
          df = xmlToDataFrame(items, stringsAsFactors = FALSE)


          Since I'm using the web service I can filter the list before I return the results, which is really helpful in overcoming the limitations of the SharePoint web service. The following link is quite helpful...
          http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/21/introduction-to-querying-lists-with-rest-and-listdata-svc-in-sharepoint-2010.aspx







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 17 '15 at 23:21









          Lee Mendoza

          12612




          12612
























              up vote
              3
              down vote













              Lee Mendoza's answer may well work if ListData.svc is running and/or you have administrative access to the SharePoint server.



              If both of those aren't true: the following might work. At least it does for me on SharePoint 2010. If there's a better way of doing it when ListData.svc isn't present, I'd love to hear it.



               library(RCurl)
              library(XML)
              library(data.table)
              URL <- "http://<site>/_vti_bin/owssvr.dll?Cmd=Display&Query=*&XMLDATA=TRUE&List={GUID_OF_LIST}"
              rawData <- getURL(URL, userpwd = "username:password")
              # in real life prompt for user credentials, don't put in script
              xmlData <- xmlParse (rawData, options=HUGE, useInternalNodes=TRUE)
              dataList <- xmlToList(xmlRoot(xmlData)[["data"]])
              # check the system return, on my SP2010 server the data block is
              # named rs:data so this works
              dataMatrix <- do.call(rbind,dataList)
              finalDataTable <- data.table(dataMatrix)





              share|improve this answer

















              • 1




                I can't get this part getURL(URL, userpwd = "username:password")... no matter what I put in, I get a 403 forbidden. I've tried putting in my credentials a couple of different ways... any suggestions? When you put in <site>, how much info should be included after xxxx.sharepoint.com?
                – Amit Kohli
                Sep 22 '15 at 11:04















              up vote
              3
              down vote













              Lee Mendoza's answer may well work if ListData.svc is running and/or you have administrative access to the SharePoint server.



              If both of those aren't true: the following might work. At least it does for me on SharePoint 2010. If there's a better way of doing it when ListData.svc isn't present, I'd love to hear it.



               library(RCurl)
              library(XML)
              library(data.table)
              URL <- "http://<site>/_vti_bin/owssvr.dll?Cmd=Display&Query=*&XMLDATA=TRUE&List={GUID_OF_LIST}"
              rawData <- getURL(URL, userpwd = "username:password")
              # in real life prompt for user credentials, don't put in script
              xmlData <- xmlParse (rawData, options=HUGE, useInternalNodes=TRUE)
              dataList <- xmlToList(xmlRoot(xmlData)[["data"]])
              # check the system return, on my SP2010 server the data block is
              # named rs:data so this works
              dataMatrix <- do.call(rbind,dataList)
              finalDataTable <- data.table(dataMatrix)





              share|improve this answer

















              • 1




                I can't get this part getURL(URL, userpwd = "username:password")... no matter what I put in, I get a 403 forbidden. I've tried putting in my credentials a couple of different ways... any suggestions? When you put in <site>, how much info should be included after xxxx.sharepoint.com?
                – Amit Kohli
                Sep 22 '15 at 11:04













              up vote
              3
              down vote










              up vote
              3
              down vote









              Lee Mendoza's answer may well work if ListData.svc is running and/or you have administrative access to the SharePoint server.



              If both of those aren't true: the following might work. At least it does for me on SharePoint 2010. If there's a better way of doing it when ListData.svc isn't present, I'd love to hear it.



               library(RCurl)
              library(XML)
              library(data.table)
              URL <- "http://<site>/_vti_bin/owssvr.dll?Cmd=Display&Query=*&XMLDATA=TRUE&List={GUID_OF_LIST}"
              rawData <- getURL(URL, userpwd = "username:password")
              # in real life prompt for user credentials, don't put in script
              xmlData <- xmlParse (rawData, options=HUGE, useInternalNodes=TRUE)
              dataList <- xmlToList(xmlRoot(xmlData)[["data"]])
              # check the system return, on my SP2010 server the data block is
              # named rs:data so this works
              dataMatrix <- do.call(rbind,dataList)
              finalDataTable <- data.table(dataMatrix)





              share|improve this answer












              Lee Mendoza's answer may well work if ListData.svc is running and/or you have administrative access to the SharePoint server.



              If both of those aren't true: the following might work. At least it does for me on SharePoint 2010. If there's a better way of doing it when ListData.svc isn't present, I'd love to hear it.



               library(RCurl)
              library(XML)
              library(data.table)
              URL <- "http://<site>/_vti_bin/owssvr.dll?Cmd=Display&Query=*&XMLDATA=TRUE&List={GUID_OF_LIST}"
              rawData <- getURL(URL, userpwd = "username:password")
              # in real life prompt for user credentials, don't put in script
              xmlData <- xmlParse (rawData, options=HUGE, useInternalNodes=TRUE)
              dataList <- xmlToList(xmlRoot(xmlData)[["data"]])
              # check the system return, on my SP2010 server the data block is
              # named rs:data so this works
              dataMatrix <- do.call(rbind,dataList)
              finalDataTable <- data.table(dataMatrix)






              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Jun 18 '15 at 19:20









              David Wagle

              913




              913








              • 1




                I can't get this part getURL(URL, userpwd = "username:password")... no matter what I put in, I get a 403 forbidden. I've tried putting in my credentials a couple of different ways... any suggestions? When you put in <site>, how much info should be included after xxxx.sharepoint.com?
                – Amit Kohli
                Sep 22 '15 at 11:04














              • 1




                I can't get this part getURL(URL, userpwd = "username:password")... no matter what I put in, I get a 403 forbidden. I've tried putting in my credentials a couple of different ways... any suggestions? When you put in <site>, how much info should be included after xxxx.sharepoint.com?
                – Amit Kohli
                Sep 22 '15 at 11:04








              1




              1




              I can't get this part getURL(URL, userpwd = "username:password")... no matter what I put in, I get a 403 forbidden. I've tried putting in my credentials a couple of different ways... any suggestions? When you put in <site>, how much info should be included after xxxx.sharepoint.com?
              – Amit Kohli
              Sep 22 '15 at 11:04




              I can't get this part getURL(URL, userpwd = "username:password")... no matter what I put in, I get a 403 forbidden. I've tried putting in my credentials a couple of different ways... any suggestions? When you put in <site>, how much info should be included after xxxx.sharepoint.com?
              – Amit Kohli
              Sep 22 '15 at 11:04










              up vote
              0
              down vote













              The answer above works for lists which are <= 1000 rows only. Using "$Top" and "$Skip" in the URL, you can use the function below which iterates multiple times and imports all the data from the list regardless of the size. (This may not be the most clean way to write it, but it works!)



              sp_import <- function(ListName) {

              urlstring <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"
              data <- xmlParse(readLines(paste(urlstring, ListName, sep = ""), warn = FALSE))
              items <- getNodeSet(data, "//m:properties")
              df <- xmlToDataFrame(items, stringsAsFactors = FALSE)
              iterate <- nrow(df)
              skip <- 1

              while (nrow(df) == 1000 * skip) {
              data <- xmlParse(readLines(paste(urlstring, ListName, "?$top=1000&$skip=", iterate, sep = ""), warn = FALSE))
              items <- getNodeSet(data, "//m:properties")
              df <- rbind(df, xmlToDataFrame(items, stringsAsFactors = FALSE))
              iterate <- nrow(df)
              skip <- skip + 1
              }
              return(df)
              }





              share|improve this answer

























                up vote
                0
                down vote













                The answer above works for lists which are <= 1000 rows only. Using "$Top" and "$Skip" in the URL, you can use the function below which iterates multiple times and imports all the data from the list regardless of the size. (This may not be the most clean way to write it, but it works!)



                sp_import <- function(ListName) {

                urlstring <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"
                data <- xmlParse(readLines(paste(urlstring, ListName, sep = ""), warn = FALSE))
                items <- getNodeSet(data, "//m:properties")
                df <- xmlToDataFrame(items, stringsAsFactors = FALSE)
                iterate <- nrow(df)
                skip <- 1

                while (nrow(df) == 1000 * skip) {
                data <- xmlParse(readLines(paste(urlstring, ListName, "?$top=1000&$skip=", iterate, sep = ""), warn = FALSE))
                items <- getNodeSet(data, "//m:properties")
                df <- rbind(df, xmlToDataFrame(items, stringsAsFactors = FALSE))
                iterate <- nrow(df)
                skip <- skip + 1
                }
                return(df)
                }





                share|improve this answer























                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  The answer above works for lists which are <= 1000 rows only. Using "$Top" and "$Skip" in the URL, you can use the function below which iterates multiple times and imports all the data from the list regardless of the size. (This may not be the most clean way to write it, but it works!)



                  sp_import <- function(ListName) {

                  urlstring <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"
                  data <- xmlParse(readLines(paste(urlstring, ListName, sep = ""), warn = FALSE))
                  items <- getNodeSet(data, "//m:properties")
                  df <- xmlToDataFrame(items, stringsAsFactors = FALSE)
                  iterate <- nrow(df)
                  skip <- 1

                  while (nrow(df) == 1000 * skip) {
                  data <- xmlParse(readLines(paste(urlstring, ListName, "?$top=1000&$skip=", iterate, sep = ""), warn = FALSE))
                  items <- getNodeSet(data, "//m:properties")
                  df <- rbind(df, xmlToDataFrame(items, stringsAsFactors = FALSE))
                  iterate <- nrow(df)
                  skip <- skip + 1
                  }
                  return(df)
                  }





                  share|improve this answer












                  The answer above works for lists which are <= 1000 rows only. Using "$Top" and "$Skip" in the URL, you can use the function below which iterates multiple times and imports all the data from the list regardless of the size. (This may not be the most clean way to write it, but it works!)



                  sp_import <- function(ListName) {

                  urlstring <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"
                  data <- xmlParse(readLines(paste(urlstring, ListName, sep = ""), warn = FALSE))
                  items <- getNodeSet(data, "//m:properties")
                  df <- xmlToDataFrame(items, stringsAsFactors = FALSE)
                  iterate <- nrow(df)
                  skip <- 1

                  while (nrow(df) == 1000 * skip) {
                  data <- xmlParse(readLines(paste(urlstring, ListName, "?$top=1000&$skip=", iterate, sep = ""), warn = FALSE))
                  items <- getNodeSet(data, "//m:properties")
                  df <- rbind(df, xmlToDataFrame(items, stringsAsFactors = FALSE))
                  iterate <- nrow(df)
                  skip <- skip + 1
                  }
                  return(df)
                  }






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 19 at 21:11









                  SharpSharpLes

                  67




                  67






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.





                      Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                      Please pay close attention to the following guidance:


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f28792265%2fusing-r-to-connect-to-a-sharepoint-list%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Costa Masnaga

                      Fotorealismo

                      Sidney Franklin