افزودن OneDrive Channel
پیش از شروع چه چیزهایی لازم است
| مورد | چرا لازم است |
|---|---|
| Microsoft account | برای دسترسی به Microsoft admin pages و authorize کردن OneDrive |
| دامنه ImgBed شما | برای OAuth callback URL |
| App registration | برای ساخت Client ID و Client Secret |
| OneDrive account | بهعنوان محل واقعی ذخیره files |
مراحل setup
Step 1: باز کردن Microsoft Entra ID
portal.azure.comرا باز کنید.- بالای صفحه
Microsoft Entra IDرا جستوجو کنید. - اگر target page در dropdown دیده نشد، انتخاب کنید:
text
Continue searching in Microsoft Entra IDMicrosoft Entra IDرا باز کنید.App registrationsرا باز کنید.New registrationرا بزنید.
Step 2: Register کردن App
در صفحه New registration این fields را پر کنید:
| Field | What To Enter |
|---|---|
| Name | نام قابلتشخیص، مثل imgbed-onedrive |
| Supported account types | بر اساس جدول پایین انتخاب کنید |
| Redirect URI type | Web |
| Redirect URI | https://your-domain.com/api/oauth/onedrive/callback |
راهنمای account type:
| سناریو شما | Supported Account Types |
|---|---|
| فقط personal OneDrive | گزینه personal Microsoft account را انتخاب کنید. |
| هم personal و هم work/school accounts | گزینهای را انتخاب کنید که هر دو personal و organizational accounts را پشتیبانی کند. |
| فقط company یا school OneDrive | گزینه organizational account را انتخاب کنید. |
پس از پر کردن form، register را بزنید.

Step 3: Copy کردن App Information
پس از ساخت app، این values را از overview page copy کنید:
| Microsoft Field | ImgBed Field |
|---|---|
Application (client) ID | Client ID |
Directory (tenant) ID | Tenant ID برای organizational accounts |

Step 4: ساخت Client Secret
Certificates & secretsرا باز کنید.New client secretرا بزنید.- description دلخواه وارد کنید.
- expiration period انتخاب کنید.
- پس از ساخت،
Valueرا بلافاصله copy کنید.

Step 5: افزودن API Permissions
API permissionsرا باز کنید.Add a permissionرا بزنید.Microsoft Graphرا انتخاب کنید.Delegated permissionsرا انتخاب کنید.- این permissions را اضافه کنید:
| Permission | Purpose |
|---|---|
Files.ReadWrite.All | upload files، ساخت folders و delete files |
offline_access | اجازه میدهد ImgBed Refresh Token بگیرد |
User.Read | خواندن account و quota information |
Step 6: پر کردن OneDrive Channel در ImgBed
در Upload Settings، OneDrive را انتخاب کنید و این fields را پر کنید:
| ImgBed Field | What To Enter |
|---|---|
| Channel name | نام قابلتشخیص، مثل Main OneDrive |
| Client ID | Microsoft Application (client) ID |
| Client Secret | مقدار Client Secret Value که copy کردید |
| Tenant ID | بر اساس جدول پایین |
| Refresh Token | فعلاً خالی بگذارید |
| Root directory | اختیاری. پیشفرض imgbed. |
| Note | اختیاری |

روش پر کردن Tenant ID:
| Account Type انتخابشده | ImgBed Tenant ID |
|---|---|
| Personal accounts | consumers |
| Personal + organizational accounts | common |
| فقط current organization | Directory (tenant) ID |
Step 7: گرفتن Refresh Token
- در ImgBed،
Get Tokenرا بزنید. - وارد Microsoft account موردنظر شوید.
- authorization prompt را approve کنید.
- callback page یک
Refresh Tokenنمایش میدهد. - آن را copy کنید.
- به ImgBed برگردید و در field
Refresh Tokenpaste کنید.

Step 8: Save کردن Channel
بعد از پر شدن همه fields، channel را save کنید.
Quick Flow
text
portal.azure.com را باز کنید
-> Microsoft Entra ID را جستوجو کنید
-> App registrations را باز کنید
-> app جدید register کنید
-> Name / Supported account types / Web redirect URI را پر کنید
-> Register
-> Application (client) ID را copy کنید
-> callback URL را در Authentication بررسی کنید
-> در Certificates & secrets یک Client Secret بسازید
-> در API permissions دسترسیها را اضافه کنید
-> Client ID / Client Secret / Tenant ID را در ImgBed وارد کنید
-> Get Token را بزنید
-> Refresh Token را از callback page copy کنید
-> در ImgBed paste و save کنیدReferences
- Microsoft Entra app registration: https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app
- Microsoft identity platform authorization code flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow
- Microsoft Graph user authentication: https://learn.microsoft.com/en-us/graph/auth-v2-user