mirror of
https://github.com/R0m1k3/Socialflow.git
synced 2026-10-11 17:26:45 +02:00
fix: detect publish_video permission error + show required permissions in Pages UI
- Detect Facebook error subcode 1363042 (missing publish_video permission) and throw a clear actionable message explaining how to fix it - Add permission notice banner in Pages admin showing the 3 required Facebook permissions: pages_manage_posts, pages_read_engagement, publish_video Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
8f13d3021e
commit
2a93c2aea7
2 files changed
+26
-1
No files matched your search
@@ -126,6 +126,22 @@ export default function PagesManagement() {
|
||||
<EditPageDialog page={editingPage} onOpenChange={(open) => !open && setEditingPage(null)} />
|
||||
</div>
|
||||
|
||||
{/* Permissions required notice */}
|
||||
<div className="mb-6 p-4 bg-amber-500/10 border border-amber-500/30 rounded-xl flex gap-3">
|
||||
<AlertTriangle className="w-5 h-5 text-amber-500 shrink-0 mt-0.5" />
|
||||
<div className="text-sm">
|
||||
<p className="font-semibold text-amber-600 dark:text-amber-400 mb-1">Permissions Facebook requises pour la publication vidéo</p>
|
||||
<p className="text-muted-foreground mb-2">
|
||||
Le token de page doit inclure : <code className="bg-muted px-1 rounded text-xs">pages_manage_posts</code>{" "}
|
||||
<code className="bg-muted px-1 rounded text-xs">pages_read_engagement</code>{" "}
|
||||
<code className="bg-muted px-1 rounded text-xs">publish_video</code>
|
||||
</p>
|
||||
<p className="text-muted-foreground text-xs">
|
||||
Dans Graph API Explorer → Sélectionnez votre app → Ajoutez ces 3 permissions → Générez un User Token → Échangez via <code className="bg-muted px-1 rounded">/me/accounts</code> pour obtenir le Page Token.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex gap-3 mb-6">
|
||||
<Button
|
||||
variant="outline"
|
||||
|
||||
@@ -592,7 +592,16 @@ export class FacebookService {
|
||||
console.log('📤 Facebook START response:', startRaw);
|
||||
const startData = JSON.parse(startRaw) as any;
|
||||
if (!startRes.ok || startData.error) {
|
||||
throw new Error(`Facebook upload START error: ${startData.error?.message ?? startRaw} (code: ${startData.error?.code}, subcode: ${startData.error?.error_subcode})`);
|
||||
const subcode = startData.error?.error_subcode;
|
||||
if (subcode === 1363042) {
|
||||
throw new Error(
|
||||
`Le token Facebook de la page "${page.pageName}" n'a pas la permission "publish_video". ` +
|
||||
`Régénérez le token dans Graph API Explorer en ajoutant les permissions : ` +
|
||||
`pages_manage_posts, pages_read_engagement, publish_video. ` +
|
||||
`(code: ${startData.error?.code}, subcode: ${subcode})`
|
||||
);
|
||||
}
|
||||
throw new Error(`Facebook upload START error: ${startData.error?.message ?? startRaw} (code: ${startData.error?.code}, subcode: ${subcode})`);
|
||||
}
|
||||
const { upload_session_id, video_id } = startData;
|
||||
let startOffset: number = parseInt(startData.start_offset ?? '0', 10);
|
||||
|
||||
Reference in new issue
Block a user