@olastudio/social-media-sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +112 -0
- package/dist/adapters/expo.d.mts +19 -0
- package/dist/adapters/expo.d.ts +19 -0
- package/dist/adapters/expo.js +100 -0
- package/dist/adapters/expo.js.map +1 -0
- package/dist/adapters/expo.mjs +77 -0
- package/dist/adapters/expo.mjs.map +1 -0
- package/dist/adapters/index.d.mts +21 -0
- package/dist/adapters/index.d.ts +21 -0
- package/dist/adapters/index.js +6 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/index.mjs +3 -0
- package/dist/adapters/index.mjs.map +1 -0
- package/dist/auth.types-DTXCyA56.d.mts +128 -0
- package/dist/auth.types-DTXCyA56.d.ts +128 -0
- package/dist/chunk-36RADUUO.mjs +31 -0
- package/dist/chunk-36RADUUO.mjs.map +1 -0
- package/dist/chunk-7QAMNVQU.js +666 -0
- package/dist/chunk-7QAMNVQU.js.map +1 -0
- package/dist/chunk-B6NUTR54.js +4 -0
- package/dist/chunk-B6NUTR54.js.map +1 -0
- package/dist/chunk-BX3RO5PW.js +4 -0
- package/dist/chunk-BX3RO5PW.js.map +1 -0
- package/dist/chunk-CGNGZNVG.mjs +391 -0
- package/dist/chunk-CGNGZNVG.mjs.map +1 -0
- package/dist/chunk-ER5A6TIL.js +296 -0
- package/dist/chunk-ER5A6TIL.js.map +1 -0
- package/dist/chunk-GF3OEIKI.mjs +3 -0
- package/dist/chunk-GF3OEIKI.mjs.map +1 -0
- package/dist/chunk-H5GAC4UG.mjs +277 -0
- package/dist/chunk-H5GAC4UG.mjs.map +1 -0
- package/dist/chunk-HPLIHYLQ.js +35 -0
- package/dist/chunk-HPLIHYLQ.js.map +1 -0
- package/dist/chunk-MV6HJQQO.mjs +3 -0
- package/dist/chunk-MV6HJQQO.mjs.map +1 -0
- package/dist/chunk-ONR2OJOB.mjs +848 -0
- package/dist/chunk-ONR2OJOB.mjs.map +1 -0
- package/dist/chunk-PJ4KYVHH.js +854 -0
- package/dist/chunk-PJ4KYVHH.js.map +1 -0
- package/dist/chunk-QRGJXASL.js +402 -0
- package/dist/chunk-QRGJXASL.js.map +1 -0
- package/dist/chunk-QZHJXRRW.mjs +661 -0
- package/dist/chunk-QZHJXRRW.mjs.map +1 -0
- package/dist/core/index.d.mts +105 -0
- package/dist/core/index.d.ts +105 -0
- package/dist/core/index.js +94 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/index.mjs +5 -0
- package/dist/core/index.mjs.map +1 -0
- package/dist/index.d.mts +7 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +174 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +9 -0
- package/dist/index.mjs.map +1 -0
- package/dist/insights.types-5z7HJnbt.d.mts +351 -0
- package/dist/insights.types-DF2_r0L1.d.ts +351 -0
- package/dist/providers/facebook/index.d.mts +464 -0
- package/dist/providers/facebook/index.d.ts +464 -0
- package/dist/providers/facebook/index.js +30 -0
- package/dist/providers/facebook/index.js.map +1 -0
- package/dist/providers/facebook/index.mjs +5 -0
- package/dist/providers/facebook/index.mjs.map +1 -0
- package/dist/providers/instagram/index.d.mts +355 -0
- package/dist/providers/instagram/index.d.ts +355 -0
- package/dist/providers/instagram/index.js +26 -0
- package/dist/providers/instagram/index.js.map +1 -0
- package/dist/providers/instagram/index.mjs +5 -0
- package/dist/providers/instagram/index.mjs.map +1 -0
- package/dist/providers/tiktok/index.d.mts +346 -0
- package/dist/providers/tiktok/index.d.ts +346 -0
- package/dist/providers/tiktok/index.js +48 -0
- package/dist/providers/tiktok/index.js.map +1 -0
- package/dist/providers/tiktok/index.mjs +3 -0
- package/dist/providers/tiktok/index.mjs.map +1 -0
- package/package.json +97 -0
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import { U as UserProfile, R as RequestOptions, c as AuthProvider, A as AuthResult } from '../../auth.types-DTXCyA56.mjs';
|
|
2
|
+
import { A as APIClient, d as PageOverview, c as InsightsResponse, g as VideoInsights, i as ReelsInsights, f as PostInsights, k as PhotoInsights } from '../../insights.types-5z7HJnbt.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Facebook Types - Facebook-specific types
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Facebook provider configuration
|
|
10
|
+
* Note: apiVersion is fixed to v24.0 to ensure API compatibility
|
|
11
|
+
*/
|
|
12
|
+
interface FacebookConfig {
|
|
13
|
+
appId: string;
|
|
14
|
+
appSecret?: string;
|
|
15
|
+
redirectUri?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Facebook Scopes (Business Permissions)
|
|
19
|
+
*/
|
|
20
|
+
declare enum FacebookScopesBusiness {
|
|
21
|
+
PUBLIC_PROFILE = "public_profile",
|
|
22
|
+
EMAIL = "email",
|
|
23
|
+
PAGES_SHOW_LIST = "pages_show_list",
|
|
24
|
+
PAGES_READ_ENGAGEMENT = "pages_read_engagement",
|
|
25
|
+
PAGES_MANAGE_POSTS = "pages_manage_posts",
|
|
26
|
+
ADS_MANAGEMENT = "ads_management",
|
|
27
|
+
ADS_READ = "ads_read",
|
|
28
|
+
BUSINESS_MANAGEMENT = "business_management",
|
|
29
|
+
CATALOG_MANAGEMENT = "catalog_management",
|
|
30
|
+
COMMERCE_ACCOUNT_MANAGE_ORDERS = "commerce_account_manage_orders",
|
|
31
|
+
COMMERCE_ACCOUNT_READ_ORDERS = "commerce_account_read_orders",
|
|
32
|
+
COMMERCE_ACCOUNT_READ_REPORTS = "commerce_account_read_reports",
|
|
33
|
+
COMMERCE_ACCOUNT_READ_SETTINGS = "commerce_account_read_settings",
|
|
34
|
+
COMMERCE_MANAGE_ACCOUNTS = "commerce_manage_accounts",
|
|
35
|
+
INSTAGRAM_BASIC = "instagram_basic",
|
|
36
|
+
INSTAGRAM_CONTENT_PUBLISH = "instagram_content_publish",
|
|
37
|
+
INSTAGRAM_MANAGE_COMMENTS = "instagram_manage_comments",
|
|
38
|
+
INSTAGRAM_MANAGE_INSIGHTS = "instagram_manage_insights",
|
|
39
|
+
INSTAGRAM_MANAGE_MESSAGES = "instagram_manage_messages",
|
|
40
|
+
INSTAGRAM_SHOPPING_TAG_PRODUCTS = "instagram_shopping_tag_products",
|
|
41
|
+
LEADS_RETRIEVAL = "leads_retrieval",
|
|
42
|
+
MANAGE_APP_SOLUTIONS = "manage_app_solutions",
|
|
43
|
+
MANAGE_FUNDRAISERS = "manage_fundraisers",
|
|
44
|
+
PAGES_MANAGE_CTA = "pages_manage_cta",
|
|
45
|
+
PAGE_EVENTS = "page_events",
|
|
46
|
+
PAGES_MANAGE_ADS = "pages_manage_ads",
|
|
47
|
+
PAGES_MANAGE_ENGAGEMENT = "pages_manage_engagement",
|
|
48
|
+
PAGES_MANAGE_INSTANT_ARTICLES = "pages_manage_instant_articles",
|
|
49
|
+
PAGES_MANAGE_METADATA = "pages_manage_metadata",
|
|
50
|
+
PAGES_MESSAGING = "pages_messaging",
|
|
51
|
+
PAGES_READ_USER_CONTENT = "pages_read_user_content",
|
|
52
|
+
PRIVATE_COMPUTATION_ACCESS = "private_computation_access",
|
|
53
|
+
PUBLISH_VIDEO = "publish_video",
|
|
54
|
+
READ_INSIGHTS = "read_insights",
|
|
55
|
+
READ_AUDIENCE_NETWORK_INSIGHTS = "read_audience_network_insights",
|
|
56
|
+
WHATSAPP_BUSINESS_MANAGEMENT = "whatsapp_business_management",
|
|
57
|
+
WHATSAPP_BUSINESS_MESSAGING = "whatsapp_business_messaging"
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Facebook Scopes (User Permissions)
|
|
61
|
+
*/
|
|
62
|
+
declare enum FacebookScopesUser {
|
|
63
|
+
PUBLIC_PROFILE = "public_profile",
|
|
64
|
+
EMAIL = "email",
|
|
65
|
+
USER_FRIENDS = "user_friends"
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Facebook Page
|
|
69
|
+
*/
|
|
70
|
+
interface FacebookPage {
|
|
71
|
+
id: string;
|
|
72
|
+
name: string;
|
|
73
|
+
access_token: string;
|
|
74
|
+
picture?: {
|
|
75
|
+
data: {
|
|
76
|
+
url: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Facebook user profile
|
|
82
|
+
*/
|
|
83
|
+
interface FacebookUserProfile extends UserProfile {
|
|
84
|
+
id: string;
|
|
85
|
+
name: string;
|
|
86
|
+
email?: string;
|
|
87
|
+
picture?: {
|
|
88
|
+
data: {
|
|
89
|
+
url: string;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Facebook pages response
|
|
95
|
+
*/
|
|
96
|
+
interface FacebookPagesResponse {
|
|
97
|
+
data: FacebookPage[];
|
|
98
|
+
paging?: {
|
|
99
|
+
cursors: {
|
|
100
|
+
before: string;
|
|
101
|
+
after: string;
|
|
102
|
+
};
|
|
103
|
+
next?: string;
|
|
104
|
+
previous?: string;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Facebook post response
|
|
109
|
+
*/
|
|
110
|
+
interface FacebookPostResponse {
|
|
111
|
+
id: string;
|
|
112
|
+
post_id?: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Parameters for publishing to Facebook
|
|
116
|
+
*/
|
|
117
|
+
interface FacebookPublishPostParams {
|
|
118
|
+
pageId: string;
|
|
119
|
+
pageAccessToken: string;
|
|
120
|
+
message?: string;
|
|
121
|
+
imageUrl?: string;
|
|
122
|
+
scheduledPublishTime?: number;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Parameters for token exchange
|
|
126
|
+
*/
|
|
127
|
+
interface FacebookExchangeTokenParams {
|
|
128
|
+
shortLivedToken: string;
|
|
129
|
+
appId: string;
|
|
130
|
+
appSecret: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Token exchange response
|
|
134
|
+
*/
|
|
135
|
+
interface FacebookTokenResponse {
|
|
136
|
+
access_token: string;
|
|
137
|
+
token_type?: string;
|
|
138
|
+
expires_in?: number;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Facebook error
|
|
142
|
+
*/
|
|
143
|
+
interface FacebookErrorResponse {
|
|
144
|
+
error: {
|
|
145
|
+
message: string;
|
|
146
|
+
type: string;
|
|
147
|
+
code: number;
|
|
148
|
+
fbtrace_id: string;
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Facebook API - Facebook API Client
|
|
154
|
+
*/
|
|
155
|
+
|
|
156
|
+
declare class FacebookAPI implements APIClient {
|
|
157
|
+
private httpClient;
|
|
158
|
+
private config;
|
|
159
|
+
private accessToken?;
|
|
160
|
+
constructor(config: FacebookConfig, accessToken?: string);
|
|
161
|
+
/**
|
|
162
|
+
* Generic request
|
|
163
|
+
*/
|
|
164
|
+
request<T>(endpoint: string, options?: RequestOptions): Promise<T>;
|
|
165
|
+
/**
|
|
166
|
+
* GET request
|
|
167
|
+
*/
|
|
168
|
+
get<T>(endpoint: string, params?: Record<string, any>): Promise<T>;
|
|
169
|
+
/**
|
|
170
|
+
* POST request
|
|
171
|
+
*/
|
|
172
|
+
post<T>(endpoint: string, body?: any): Promise<T>;
|
|
173
|
+
/**
|
|
174
|
+
* PUT request
|
|
175
|
+
*/
|
|
176
|
+
put<T>(endpoint: string, body?: any): Promise<T>;
|
|
177
|
+
/**
|
|
178
|
+
* DELETE request
|
|
179
|
+
*/
|
|
180
|
+
delete<T>(endpoint: string): Promise<T>;
|
|
181
|
+
/**
|
|
182
|
+
* Update access token
|
|
183
|
+
*/
|
|
184
|
+
setAccessToken(token: string): void;
|
|
185
|
+
/**
|
|
186
|
+
* Get current access token
|
|
187
|
+
*/
|
|
188
|
+
getAccessToken(): string | undefined;
|
|
189
|
+
/**
|
|
190
|
+
* Get user's pages
|
|
191
|
+
*/
|
|
192
|
+
getPages(userAccessToken?: string): Promise<FacebookPage[]>;
|
|
193
|
+
/**
|
|
194
|
+
* Publish post to Facebook page
|
|
195
|
+
*/
|
|
196
|
+
publishPost(params: FacebookPublishPostParams): Promise<FacebookPostResponse>;
|
|
197
|
+
/**
|
|
198
|
+
* Delete Facebook post
|
|
199
|
+
*/
|
|
200
|
+
deletePost(postId: string, pageAccessToken: string): Promise<boolean>;
|
|
201
|
+
/**
|
|
202
|
+
* Get page information
|
|
203
|
+
*/
|
|
204
|
+
getPage(pageId: string, fields?: string[]): Promise<FacebookPage>;
|
|
205
|
+
/**
|
|
206
|
+
* Debug/validate a Facebook access token
|
|
207
|
+
* Uses Facebook's debug_token endpoint
|
|
208
|
+
*
|
|
209
|
+
* @param inputToken - The token to validate
|
|
210
|
+
* @param appAccessToken - App token (app_id|app_secret)
|
|
211
|
+
* @returns Token debug information
|
|
212
|
+
*/
|
|
213
|
+
debugToken(inputToken: string, appAccessToken: string): Promise<{
|
|
214
|
+
data: {
|
|
215
|
+
is_valid: boolean;
|
|
216
|
+
expires_at?: number;
|
|
217
|
+
scopes?: string[];
|
|
218
|
+
error?: {
|
|
219
|
+
message: string;
|
|
220
|
+
code: number;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
}>;
|
|
224
|
+
/**
|
|
225
|
+
* Get page insights/analytics
|
|
226
|
+
* @param pageId - Facebook Page ID
|
|
227
|
+
* @param options - Insights options
|
|
228
|
+
* @returns Page insights data
|
|
229
|
+
*/
|
|
230
|
+
getPageInsights(pageId: string, options: {
|
|
231
|
+
metric: string[];
|
|
232
|
+
period?: 'day' | 'week' | 'days_28' | 'month' | 'lifetime';
|
|
233
|
+
since?: number;
|
|
234
|
+
until?: number;
|
|
235
|
+
}): Promise<{
|
|
236
|
+
data: Array<{
|
|
237
|
+
name: string;
|
|
238
|
+
period: string;
|
|
239
|
+
values: Array<{
|
|
240
|
+
value: number;
|
|
241
|
+
end_time?: string;
|
|
242
|
+
}>;
|
|
243
|
+
title?: string;
|
|
244
|
+
description?: string;
|
|
245
|
+
}>;
|
|
246
|
+
}>;
|
|
247
|
+
/**
|
|
248
|
+
* Get page fans count (total followers)
|
|
249
|
+
* @param pageId - Facebook Page ID
|
|
250
|
+
* @returns Page with fan count
|
|
251
|
+
*/
|
|
252
|
+
getPageFansCount(pageId: string): Promise<{
|
|
253
|
+
id: string;
|
|
254
|
+
fan_count: number;
|
|
255
|
+
}>;
|
|
256
|
+
/**
|
|
257
|
+
* Get page overview with key metrics
|
|
258
|
+
* @param pageId - Facebook Page ID
|
|
259
|
+
* @returns Page overview data
|
|
260
|
+
*/
|
|
261
|
+
getPageOverview(pageId: string): Promise<PageOverview>;
|
|
262
|
+
/**
|
|
263
|
+
* Get video insights
|
|
264
|
+
* @param videoId - Facebook Video ID
|
|
265
|
+
* @param metrics - Specific metrics to fetch (defaults to common metrics)
|
|
266
|
+
* @returns Video insights data
|
|
267
|
+
*/
|
|
268
|
+
getVideoInsights(videoId: string, metrics?: string[]): Promise<InsightsResponse>;
|
|
269
|
+
/**
|
|
270
|
+
* Get video insights with parsed values
|
|
271
|
+
* @param videoId - Facebook Video ID
|
|
272
|
+
* @returns Parsed video insights
|
|
273
|
+
*/
|
|
274
|
+
getVideoInsightsParsed(videoId: string): Promise<VideoInsights>;
|
|
275
|
+
/**
|
|
276
|
+
* Get page videos with basic info
|
|
277
|
+
* @param pageId - Facebook Page ID
|
|
278
|
+
* @param limit - Number of videos to fetch
|
|
279
|
+
* @returns List of videos
|
|
280
|
+
*/
|
|
281
|
+
getPageVideos(pageId: string, limit?: number): Promise<{
|
|
282
|
+
data: Array<{
|
|
283
|
+
id: string;
|
|
284
|
+
title?: string;
|
|
285
|
+
description?: string;
|
|
286
|
+
created_time: string;
|
|
287
|
+
length?: number;
|
|
288
|
+
}>;
|
|
289
|
+
}>;
|
|
290
|
+
/**
|
|
291
|
+
* Get reels insights
|
|
292
|
+
* @param reelId - Facebook Reel ID
|
|
293
|
+
* @param metrics - Specific metrics to fetch
|
|
294
|
+
* @returns Reels insights data
|
|
295
|
+
*/
|
|
296
|
+
getReelsInsights(reelId: string, metrics?: string[]): Promise<InsightsResponse>;
|
|
297
|
+
/**
|
|
298
|
+
* Get reels insights with parsed values
|
|
299
|
+
* @param reelId - Facebook Reel ID
|
|
300
|
+
* @returns Parsed reels insights
|
|
301
|
+
*/
|
|
302
|
+
getReelsInsightsParsed(reelId: string): Promise<ReelsInsights>;
|
|
303
|
+
/**
|
|
304
|
+
* Get page reels
|
|
305
|
+
* @param pageId - Facebook Page ID
|
|
306
|
+
* @param limit - Number of reels to fetch
|
|
307
|
+
* @returns List of reels
|
|
308
|
+
*/
|
|
309
|
+
getPageReels(pageId: string, limit?: number): Promise<{
|
|
310
|
+
data: Array<{
|
|
311
|
+
id: string;
|
|
312
|
+
description?: string;
|
|
313
|
+
created_time: string;
|
|
314
|
+
}>;
|
|
315
|
+
}>;
|
|
316
|
+
/**
|
|
317
|
+
* Get post insights
|
|
318
|
+
* @param postId - Facebook Post ID
|
|
319
|
+
* @param metrics - Specific metrics to fetch
|
|
320
|
+
* @returns Post insights data
|
|
321
|
+
*/
|
|
322
|
+
getPostInsights(postId: string, metrics?: string[]): Promise<InsightsResponse>;
|
|
323
|
+
/**
|
|
324
|
+
* Get post insights with parsed values
|
|
325
|
+
* @param postId - Facebook Post ID
|
|
326
|
+
* @returns Parsed post insights
|
|
327
|
+
*/
|
|
328
|
+
getPostInsightsParsed(postId: string): Promise<PostInsights>;
|
|
329
|
+
/**
|
|
330
|
+
* Get page posts/feed
|
|
331
|
+
* @param pageId - Facebook Page ID
|
|
332
|
+
* @param limit - Number of posts to fetch
|
|
333
|
+
* @returns List of posts
|
|
334
|
+
*/
|
|
335
|
+
getPagePosts(pageId: string, limit?: number): Promise<{
|
|
336
|
+
data: Array<{
|
|
337
|
+
id: string;
|
|
338
|
+
message?: string;
|
|
339
|
+
created_time: string;
|
|
340
|
+
type?: string;
|
|
341
|
+
}>;
|
|
342
|
+
}>;
|
|
343
|
+
/**
|
|
344
|
+
* Get photo insights
|
|
345
|
+
* @param photoId - Facebook Photo ID
|
|
346
|
+
* @param metrics - Specific metrics to fetch
|
|
347
|
+
* @returns Photo insights data
|
|
348
|
+
*/
|
|
349
|
+
getPhotoInsights(photoId: string, metrics?: string[]): Promise<InsightsResponse>;
|
|
350
|
+
/**
|
|
351
|
+
* Get photo insights with parsed values
|
|
352
|
+
* @param photoId - Facebook Photo ID
|
|
353
|
+
* @returns Parsed photo insights
|
|
354
|
+
*/
|
|
355
|
+
getPhotoInsightsParsed(photoId: string): Promise<PhotoInsights>;
|
|
356
|
+
/**
|
|
357
|
+
* Get page photos
|
|
358
|
+
* @param pageId - Facebook Page ID
|
|
359
|
+
* @param limit - Number of photos to fetch
|
|
360
|
+
* @returns List of photos
|
|
361
|
+
*/
|
|
362
|
+
getPagePhotos(pageId: string, limit?: number): Promise<{
|
|
363
|
+
data: Array<{
|
|
364
|
+
id: string;
|
|
365
|
+
name?: string;
|
|
366
|
+
created_time: string;
|
|
367
|
+
}>;
|
|
368
|
+
}>;
|
|
369
|
+
/**
|
|
370
|
+
* Get quick insights summary for a page
|
|
371
|
+
* Combines key metrics in a single call
|
|
372
|
+
* @param pageId - Facebook Page ID
|
|
373
|
+
* @param period - Period for time-based metrics
|
|
374
|
+
* @returns Summary of page insights
|
|
375
|
+
*/
|
|
376
|
+
getPageInsightsSummary(pageId: string, period?: 'day' | 'week' | 'days_28'): Promise<{
|
|
377
|
+
overview: PageOverview;
|
|
378
|
+
engagement: {
|
|
379
|
+
views?: number;
|
|
380
|
+
post_engagements?: number;
|
|
381
|
+
video_views?: number;
|
|
382
|
+
};
|
|
383
|
+
}>;
|
|
384
|
+
/**
|
|
385
|
+
* Get current API version (read-only)
|
|
386
|
+
*/
|
|
387
|
+
getApiVersion(): string;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* Facebook Auth - Facebook Authentication
|
|
392
|
+
*/
|
|
393
|
+
|
|
394
|
+
declare class FacebookAuth implements AuthProvider {
|
|
395
|
+
private httpClient;
|
|
396
|
+
private config;
|
|
397
|
+
constructor(config: FacebookConfig);
|
|
398
|
+
/**
|
|
399
|
+
* Exchange Facebook token for session
|
|
400
|
+
* In Expo + Supabase, this is handled in the app
|
|
401
|
+
* This function only validates and gets profile info
|
|
402
|
+
*/
|
|
403
|
+
exchangeToken(facebookToken: string): Promise<AuthResult>;
|
|
404
|
+
/**
|
|
405
|
+
* Get Facebook user profile
|
|
406
|
+
*/
|
|
407
|
+
getProfile(accessToken: string): Promise<UserProfile>;
|
|
408
|
+
/**
|
|
409
|
+
* Exchange short-lived token for long-lived token
|
|
410
|
+
*/
|
|
411
|
+
exchangeForLongLivedToken(params: FacebookExchangeTokenParams): Promise<string>;
|
|
412
|
+
/**
|
|
413
|
+
* Get OAuth configuration for Facebook
|
|
414
|
+
*/
|
|
415
|
+
getOAuthConfig(scopes: string[], redirectUri: string): {
|
|
416
|
+
authorizationEndpoint: "https://www.facebook.com/v24.0/dialog/oauth";
|
|
417
|
+
tokenEndpoint: string;
|
|
418
|
+
clientId: string;
|
|
419
|
+
clientSecret: string | undefined;
|
|
420
|
+
redirectUri: string;
|
|
421
|
+
scopes: string[];
|
|
422
|
+
responseType: "token";
|
|
423
|
+
extraParams: {
|
|
424
|
+
display: string;
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
/**
|
|
428
|
+
* Get authorization URL
|
|
429
|
+
*/
|
|
430
|
+
getAuthorizationUrl(scopes: string[], redirectUri: string, state?: string): string;
|
|
431
|
+
/**
|
|
432
|
+
* Get current API version (read-only)
|
|
433
|
+
*/
|
|
434
|
+
getApiVersion(): string;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* Facebook Provider - Main Facebook provider
|
|
439
|
+
*/
|
|
440
|
+
|
|
441
|
+
/**
|
|
442
|
+
* Facebook provider that encapsulates Auth and API
|
|
443
|
+
*/
|
|
444
|
+
declare class FacebookProvider {
|
|
445
|
+
readonly name: "facebook";
|
|
446
|
+
auth: FacebookAuth;
|
|
447
|
+
api: FacebookAPI;
|
|
448
|
+
config: FacebookConfig;
|
|
449
|
+
constructor(config: FacebookConfig);
|
|
450
|
+
/**
|
|
451
|
+
* Create new API instance with access token
|
|
452
|
+
*/
|
|
453
|
+
createAPIClient(accessToken: string): FacebookAPI;
|
|
454
|
+
/**
|
|
455
|
+
* Update access token of existing API client
|
|
456
|
+
*/
|
|
457
|
+
setAccessToken(accessToken: string): void;
|
|
458
|
+
/**
|
|
459
|
+
* Get current access token
|
|
460
|
+
*/
|
|
461
|
+
getAccessToken(): string | undefined;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
export { FacebookAPI, FacebookAuth, type FacebookConfig, type FacebookErrorResponse, type FacebookExchangeTokenParams, type FacebookPage, type FacebookPagesResponse, type FacebookPostResponse, FacebookProvider, type FacebookPublishPostParams, FacebookScopesBusiness, FacebookScopesUser, type FacebookTokenResponse, type FacebookUserProfile };
|