> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
> Use this file to discover all available pages before exploring further.

# SharePoint

> Microsoft Graph で SharePoint と OneDrive を操作

## 概要

SharePoint ツールでは、サイト一覧の取得、サイト情報の取得、ドキュメントライブラリ/OneDrive の参照、ファイルアップロード、ファイルダウンロードを Microsoft Graph 経由で行えます。

## 主な機能

* `SHAREPOINT_LIST_SITES`
  * SharePoint サイトを検索・一覧取得。
* `SHAREPOINT_GET_SITE_INFORMATION`
  * サイト URL からサイトのメタ情報（ID、名前、URL）を取得。
* `SHAREPOINT_LIST_DOCUMENTS`
  * SharePoint ドキュメントライブラリまたは OneDrive のファイル/フォルダ一覧を取得。
* `SHAREPOINT_UPLOAD_FILE`
  * SharePoint または OneDrive にファイルをアップロード（シンプルアップロード、最大 4MB）。
* `SHAREPOINT_DOWNLOAD_FILE`
  * SharePoint または OneDrive からファイルをダウンロード。署名付きダウンロード URL または base64 エンコードされたコンテンツ（最大 4MB）を返します。

## 認証

Microsoft Graph OAuth トークンが必要です。

[Jinba のシークレット設定](https://flow.jinba.io/workspace/secrets) で Microsoft アカウント（SharePoint/OneDrive）を連携し、発行されたトークンをツールの config に指定してください。

### 例：サイト一覧取得とファイルアップロード

```yaml theme={null}
- id: list_sites
  name: list_sites
  tool: SHAREPOINT_LIST_SITES
  config:
    - name: token
      value: "{{secrets.MICROSOFT_GRAPH_SHAREPOINT.access_token}}"
  input:
    - name: search
      value: "engineering"

- id: get_site
  name: get_site
  tool: SHAREPOINT_GET_SITE_INFORMATION
  config:
    - name: token
      value: "{{secrets.MICROSOFT_GRAPH_SHAREPOINT.access_token}}"
  input:
    - name: site_url
      value: "https://contoso.sharepoint.com/sites/Engineering"

- id: list_documents
  name: list_documents
  tool: SHAREPOINT_LIST_DOCUMENTS
  config:
    - name: token
      value: "{{secrets.MICROSOFT_GRAPH_SHAREPOINT.access_token}}"
  input:
    # drive_id を省略すると OneDrive（me/drive）を一覧取得します
    # SharePoint のドキュメントライブラリを指定する場合は drive_id にライブラリの Drive ID を指定してください
    - name: top
      value: 10

- id: list_sharepoint_documents
  name: list_sharepoint_documents
  tool: SHAREPOINT_LIST_DOCUMENTS
  config:
    - name: token
      value: "{{secrets.MICROSOFT_GRAPH_SHAREPOINT.access_token}}"
  input:
    - name: drive_id
      value: "YOUR_SHAREPOINT_DRIVE_ID"
    - name: top
      value: 10

- id: upload_file
  name: upload_file
  tool: SHAREPOINT_UPLOAD_FILE
  config:
    - name: token
      value: "{{secrets.MICROSOFT_GRAPH_SHAREPOINT.access_token}}"
  input:
    # drive_id を省略すると OneDrive（me/drive）にアップロードします
    - name: filename
      value: "report.txt"
    - name: content
      value: "{{steps.generate_report.result.base64}}"
    - name: conflict_behavior
      value: "rename"

- id: download_file
  name: download_file
  tool: SHAREPOINT_DOWNLOAD_FILE
  config:
    - name: token
      value: "{{secrets.MICROSOFT_GRAPH_SHAREPOINT.access_token}}"
  input:
    # item_id は SHAREPOINT_LIST_DOCUMENTS の結果から取得します
    - name: item_id
      value: "{{steps.list_documents.result.items[0].id}}"
    # "url"（デフォルト）は署名付きダウンロード URL を返します
    # "base64" はファイル内容を base64 で返します（最大 4MB）
    - name: output_format
      value: "url"
```
