@@ -20,79 +20,79 @@ export default {
2020 : e ;
2121 } ) ;
2222
23- const checkExit = ( e ) => {
23+ const c = ( e ) => {
2424 try {
2525 return e ( ) ;
2626 } catch ( e ) {
2727 return ! 1 ;
2828 }
2929 } ;
3030
31- const get_posts = async ( uid , fb_dtsg , cursor ) => {
32- console . log ( "Đang lấy dữ liệu! Vui lòng chờ trong giây lát..." ) ;
31+ const getSaved = async ( uid , fb_dtsg , cursor = "" ) => {
3332 if ( cursor ) cursor = `"cursor":"${ cursor } ",` ;
34-
35- uid = encodeURIComponent ( uid ) ;
36- fb_dtsg = encodeURIComponent ( fb_dtsg ) ;
3733 cursor = encodeURIComponent (
3834 `{"content_filter":null,"count":10,${ cursor } "scale":1}`
3935 ) ;
40-
4136 const res = await fetch ( "https://www.facebook.com/api/graphql/" , {
4237 body : `av: 100000034778747&__user=${ uid } &__dyn=&fb_dtsg=${ fb_dtsg } &fb_api_req_friendly_name=CometSaveDashboardAllItemsPaginationQuery&variables=${ cursor } &server_timestamps=true&doc_id=3196659713724388` ,
4338 method : "POST" ,
4439 mode : "cors" ,
4540 credentials : "include" ,
4641 headers : { "Content-Type" : "application/x-www-form-urlencoded" } ,
4742 } ) ;
48- let json = await res . json ( ) ;
49- console . log ( json ) ;
50- json . data . viewer . saver_info . all_saves . edges . forEach ( ( e ) => {
51- data . push ( {
52- title : encodeHTML ( checkExit ( ( ) => e . node . savable . savable_title . text ) ) ,
53- type : checkExit ( ( ) => e . node . savable . __typename ) ,
54- image : checkExit ( ( ) => e . node . savable . savable_image . uri ) ,
55- url : checkExit ( ( ) => e . node . savable . url ) ,
56- urlPost : checkExit ( ( ) => e . node . container_savable . savable_permalink ) ,
57- sourceType : checkExit (
58- ( ) => e . node . container_savable . savable_actors [ 0 ] . __typename
59- ) ,
60- sourceName : checkExit (
61- ( ) => e . node . container_savable . savable_actors [ 0 ] . name
62- ) ,
63- sourceID : checkExit (
64- ( ) => e . node . container_savable . savable_actors [ 0 ] . id
65- ) ,
66- sourceImage : checkExit (
67- ( ) => e . node . container_savable . savable_actors [ 0 ] . profile_picture . uri
68- ) ,
43+ return await res . json ( ) ;
44+ } ;
45+
46+ const getAllSaved = async ( uid , fb_dtsg , cursor ) => {
47+ uid = encodeURIComponent ( uid ) ;
48+ fb_dtsg = encodeURIComponent ( fb_dtsg ) ;
49+
50+ let data = [ ] ;
51+ let page = 1 ;
52+ while ( true ) {
53+ setLoadingText ( "Đang tải trang " + page + "..." ) ;
54+ let json = await getSaved ( uid , fb_dtsg , cursor ) ;
55+ console . log ( json ) ;
56+ json . data . viewer . saver_info . all_saves . edges . forEach ( ( e ) => {
57+ data . push ( {
58+ title : encodeHTML ( c ( ( ) => e . node . savable . savable_title . text ) ) ,
59+ type : c ( ( ) => e . node . savable . __typename ) ,
60+ image : c ( ( ) => e . node . savable . savable_image . uri ) ,
61+ url : c ( ( ) => e . node . savable . url ) ,
62+ urlPost : c ( ( ) => e . node . container_savable . savable_permalink ) ,
63+ sourceType : c (
64+ ( ) => e . node . container_savable . savable_actors [ 0 ] . __typename
65+ ) ,
66+ sourceName : c (
67+ ( ) => e . node . container_savable . savable_actors [ 0 ] . name
68+ ) ,
69+ sourceID : c ( ( ) => e . node . container_savable . savable_actors [ 0 ] . id ) ,
70+ sourceImage : c (
71+ ( ) =>
72+ e . node . container_savable . savable_actors [ 0 ] . profile_picture . uri
73+ ) ,
74+ } ) ;
6975 } ) ;
70- } ) ;
71- let s = ! 1 ;
72- if (
73- ( checkExit (
74- ( ) => json . data . viewer . saver_info . all_saves . page_info . has_next_page
75- ) &&
76- ( s = json . data . viewer . saver_info . all_saves . page_info . has_next_page ) ,
77- ! 0 === s )
78- )
79- await get_posts (
80- json . data . viewer . saver_info . all_saves . page_info . end_cursor
76+ let nextCursor = c (
77+ ( ) => json . data . viewer . saver_info . all_saves . page_info . end_cursor
8178 ) ;
82- else {
83- // let e = window.btoa(unescape(encodeURIComponent(JSON.stringify(data))));
84- // template(e);
85- console . log ( "Done! Đang xuất dữ liệu..." ) ;
79+ if ( nextCursor ) cursor = nextCursor ;
80+ else break ;
81+ page ++ ;
8682 }
83+ return data ;
8784 } ;
8885
8986 let { setLoadingText, closeLoading } = showLoading ( "Đang lấy token..." ) ;
9087 try {
88+ setLoadingText ( "Đang chuẩn bị..." ) ;
9189 let [ fb_dtsg , uid ] = await runScriptInCurrentTab ( ( ) => [
9290 require ( "DTSGInitialData" ) . token ,
9391 require ( "CurrentUserInitialData" ) . USER_ID ,
9492 ] ) ;
95- get_posts ( uid , fb_dtsg ) ;
93+ setLoadingText ( "Đang lấy dữ liệu..." ) ;
94+ let saved = await getAllSaved ( uid , fb_dtsg ) ;
95+ console . log ( saved ) ;
9696 } catch ( e ) {
9797 alert ( "ERROR: " + e ) ;
9898 } finally {
0 commit comments