{"record":{"id":"421d4ae100a5c253","repo":"tonhowtf/omniget","slug":"nao-achei-os-arquivos-json-de-seguidores-no-export-no","errorCode":null,"errorMessage":"nao achei os arquivos JSON de seguidores no export. No Instagram, peça o export em formato JSON (Configurações → Central de contas → Suas informações e permissões → Baixar suas informações)","messagePattern":"nao achei os arquivos JSON de seguidores no export\\. No Instagram, peça o export em formato JSON \\(Configurações → Central de contas → Suas informações e permissões → Baixar suas informações\\)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-tauri/omniget-core/src/core/tools/instagram/analytics.rs","lineNumber":375,"sourceCode":"                }\n            }\n        }\n        walk(path, &mut files, &wanted);\n    } else {\n        let file = std::fs::File::open(path)?;\n        let mut zip = zip::ZipArchive::new(file)?;\n        for i in 0..zip.len() {\n            let mut entry = zip.by_index(i)?;\n            let name = entry.name().to_string();\n            if wanted(&name) {\n                let mut bytes = Vec::new();\n                entry.read_to_end(&mut bytes)?;\n                files.push((name, bytes));\n            }\n        }\n    }\n    if files.is_empty() {\n        return Err(anyhow!(\"nao achei os arquivos JSON de seguidores no export. No Instagram, peça o export em formato JSON (Configurações → Central de contas → Suas informações e permissões → Baixar suas informações)\"));\n    }\n    Ok(files)\n}\n\npub fn analyze_export(path: &str) -> anyhow::Result<ExportReport> {\n    let files = read_export_files(Path::new(path))?;\n    let mut rep = ExportReport {\n        source: path.to_string(),\n        ..Default::default()\n    };\n    for (name, bytes) in &files {\n        let Ok(v) = serde_json::from_slice::<Value>(bytes) else {\n            continue;\n        };\n        let base = name\n            .replace('\\\\', \"/\")\n            .rsplit('/')\n            .next()","sourceCodeStart":357,"sourceCodeEnd":393,"githubUrl":"https://github.com/tonhowtf/omniget/blob/8600b91f4246848bac346874daa9e61c1fc5677a/src-tauri/omniget-core/src/core/tools/instagram/analytics.rs#L357-L393","documentation":"read_export_files walks the user's Instagram data-export (zip or directory) looking for the follower/following JSON files. If none are found it throws this error with instructions on requesting the correct JSON export. The library only understands Instagram's JSON export format, not HTML exports.","triggerScenarios":"Calling analyze_export on a directory or zip that contains no follower JSON files — e.g. an HTML-format export, an export from before the follower data was included, or the wrong nested folder.","commonSituations":"User chose HTML instead of JSON when requesting 'Download your information'; user pointed the tool at the partially-complete export zip; Instagram moved files into different subfolders in newer exports.","solutions":["Request the export again from Instagram choosing JSON format (Configurações → Central de contas → Suas informações e permissões → Baixar suas informações)","Point analyze_export at the correct top-level export path (directory or zip), not a subfolder","Open the export and confirm files like followers.json / followers_1.json exist"],"exampleFix":"// before\nanalyze_export(\"~/Downloads/instagram-user.html\")?\n// after\nanalyze_export(\"~/Downloads/instagram-user-2026-09-12/\")? // JSON export","handlingStrategy":"validation","validationCode":"let export = Path::new(path);\nlet has_json = WalkDir::new(export)\n    .into_iter()\n    .filter_map(Result::ok)\n    .any(|e| e.path().extension().map_or(false, |x| x == \"json\"));\nif !has_json {\n    bail!(\"peça o export em formato JSON no Instagram\");\n}","typeGuard":null,"tryCatchPattern":"match analyze_export(path) {\n    Ok(report) => render(report),\n    Err(e) if e.to_string().contains(\"nao achei os arquivos JSON\") => {\n        eprintln!(\"Refaça o export escolhendo formato JSON: {e}\");\n    }\n    Err(e) => return Err(e),\n}","preventionTips":["Always request Instagram data exports in JSON format, never HTML","Point the tool at the export root (zip or extracted folder), not a subfolder","Spot-check the export for followers.json / following.json before running analysis"],"tags":["rust","instagram","file-not-found","user-input"],"backgroundTag":"file-not-found","analyzedSha":"8600b91f4246848bac346874daa9e61c1fc5677a","analyzedAt":"2026-09-12T14:29:19.317Z","contentChangedAt":"2026-09-12T14:29:19.317Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}