Sharepoint Scraper API

Sure, this is a Python script designed to act as a scraper for a specific Microsoft Office 365 SharePoint site. The project aims to synchronize with Google Chat

Input

Send these Fields as input. A Field not listed here is refused.

tenant_id

tenant_id

  • Type: string
  • Required: yes
  • Length in characters: 1 to 100

client_id

client_id

  • Type: string
  • Required: yes
  • Length in characters: 1 to 100

client_secret

client_secret

  • Type: string
  • Required: yes
  • Length in characters: 1 to 100

Run it

One call presses the Widget and answers the run once its status is succeeded or failed, however long it takes. The key is read from ABYSS_API_KEY. Install the library with npm install abysshub or pip install abysshub; cURL sends the Fields as a form.

JavaScript

// index.mjs
import Abyss from "abysshub";

const abyss = new Abyss();

const run = await abyss.run("widget_62", {
  tenant_id: "513dd62c-57de-47ab-8d06-83980e2e302d",
  client_id: "06edc6df-19e0-4c49-8aa8-2b1e4b3f56ad",
  client_secret: "2_e8Q~MujXdGf1ODNSNloDf-9luJ9A1rqI7bwc8J",
});

for (const path of await run.save("output")) {
  console.log(path);
}

Python

from abysshub import Abyss

abyss = Abyss()

run = abyss.run("widget_62", {
    "tenant_id": "513dd62c-57de-47ab-8d06-83980e2e302d",
    "client_id": "06edc6df-19e0-4c49-8aa8-2b1e4b3f56ad",
    "client_secret": "2_e8Q~MujXdGf1ODNSNloDf-9luJ9A1rqI7bwc8J",
})

for path in run.save("output"):
    print(path)

cURL

curl https://api.abysshub.com/v1/widgets/widget_62/runs \
  -H "Authorization: Bearer $ABYSS_API_KEY" \
  -F tenant_id=513dd62c-57de-47ab-8d06-83980e2e302d \
  -F client_id=06edc6df-19e0-4c49-8aa8-2b1e4b3f56ad \
  -F 'client_secret=2_e8Q~MujXdGf1ODNSNloDf-9luJ9A1rqI7bwc8J'

A succeeded run carries its result and its output_files. Their URLs are signed for each read: re-read the run, never store a URL. A run still queued or running in the answer (after an hour, or when the API is busy) is read again at its Location with ?wait=true.

More

Keys, files, errors and limits: API access.