first commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
// src/modules/social/facebook-api.service.ts
|
||||
import {HttpException, HttpStatus, Injectable} from '@nestjs/common';
|
||||
import axios from 'axios';
|
||||
|
||||
@Injectable()
|
||||
export class FacebookApi {
|
||||
private readonly fbBaseUrl = 'https://graph.facebook.com/v19.0';
|
||||
private readonly pageAccessToken = process.env.FB_PAGE_ACCESS_TOKEN;
|
||||
private readonly pageId = process.env.FB_PAGE_ID;
|
||||
|
||||
async postToPage(content: string, imageUrl?: string) {
|
||||
// console.log('postToPage==>', content, imageUrl);
|
||||
try {
|
||||
let url = `${this.fbBaseUrl}/${this.pageId}/feed`;
|
||||
let params: any = {
|
||||
message: content + `\n Disclaimer: For reference only. AI content may have errors. Not liable for inaccuracies or damages. Verify from official sources.`,
|
||||
access_token: this.pageAccessToken,
|
||||
};
|
||||
|
||||
// Nếu có ảnh, chúng ta dùng endpoint /photos
|
||||
if (imageUrl) {
|
||||
url = `${this.fbBaseUrl}/${this.pageId}/photos`;
|
||||
params.url = imageUrl;
|
||||
}
|
||||
|
||||
const response = await axios.post(url, params);
|
||||
//response.data= { id: '1010286162176053_122107818902775551' }
|
||||
return response.data; // Trả về ID bài viết nếu thành công
|
||||
} catch (error) {
|
||||
console.log('Lỗi khi đăng bài lên FB');
|
||||
console.log(error.message);
|
||||
throw new HttpException(
|
||||
error.response?.data || 'Lỗi khi đăng bài lên FB',
|
||||
HttpStatus.BAD_REQUEST,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user