ntphuc149 commited on
Commit
a0b689b
·
verified ·
1 Parent(s): eea9f1c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +101 -99
app.py CHANGED
@@ -327,105 +327,107 @@ with tab2:
327
  st.markdown("### Step 1: Đăng nhập Facebook")
328
  st.markdown(f"[Bấm vào đây để đăng nhập Facebook]({auth_url})")
329
 
330
- query_params = st.query_params
331
-
332
- if "code" in query_params:
333
- code = query_params["code"]
334
 
335
- try:
336
- token_response = requests.get(f"{FB_API_URL}/oauth/access_token", params={
337
- "client_id": FB_APP_ID,
338
- "redirect_uri": FB_REDIRECT_URI,
339
- "client_secret": FB_APP_SECRET,
340
- "code": code,
341
- })
342
-
343
- token = token_response.json()["access_token"]
344
- st.session_state.token = token
345
- st.success("🎉 Lấy access token thành công!")
346
-
347
- st.markdown("""
348
- <script>
349
- const url = new URL(window.location.href);
350
- url.searchParams.delete("code");
351
- window.location.href = url.pathname;
352
- </script>
353
- """, unsafe_allow_html=True)
354
-
355
- # Lấy page
356
- pages_response = requests.get(f"{FB_API_URL}/me/accounts", params={"access_token": token})
357
- pages = pages_response.json().get("data", [])
358
- st.session_state.pages = pages
359
-
360
- st.markdown("### Danh sách các Page bạn quản lý:")
361
- for page in pages:
362
- st.json(page)
363
-
364
- except Exception as e:
365
- st.error(f"Lỗi khi trao đổi token: {e}")
366
-
367
- # st.markdown("### Step 2: Dán URL sau khi đăng nhập")
368
- # redirect_input = st.text_input("Redirect URL (sau khi đăng nhập thành công)")
369
-
370
- # if redirect_input:
371
- # parsed_url = urlparse(redirect_input)
372
- # code = parse_qs(parsed_url.query).get("code", [None])[0]
373
-
374
- # if code:
375
- # try:
376
- # token_response = requests.get(f"{FB_API_URL}/oauth/access_token", params={
377
- # "client_id": FB_APP_ID,
378
- # "redirect_uri": FB_REDIRECT_URI,
379
- # "client_secret": FB_APP_SECRET,
380
- # "code": code,
381
- # })
382
-
383
- # token = token_response.json()["access_token"]
384
- # st.session_state.token = token
385
- # st.success("Lấy access token thành công!")
386
-
387
- # pages_response = requests.get(f"{FB_API_URL}/me/accounts", params={"access_token": token})
388
- # pages = pages_response.json().get("data", [])
389
- # st.session_state.pages = pages
390
-
391
- # st.markdown("### Danh sách các Page bạn quản lý:")
392
- # for page in pages:
393
- # st.json(page)
394
-
395
- # except Exception as e:
396
- # st.error(f"Lỗi: {e}")
397
-
398
- if "pages" in st.session_state and st.session_state.pages:
399
- st.markdown("### Step 3: Đăng ký Webhook cho các page")
400
- selected_pages = st.multiselect(
401
- "Chọn các page để đăng ký webhook:",
402
- options=[f"{p['name']} ({p['id']})" for p in st.session_state.pages]
403
- )
404
-
405
- if st.button("Đăng ký Webhook"):
406
- selected_pages = st.session_state.selected_pages # Giả sử bạn có danh sách page đã chọn
407
- for page in st.session_state.pages:
408
- label = f"{page['name']} ({page['id']})"
409
- if label in selected_pages:
410
- page_id = page['id']
411
- page_access_token = page['access_token']
412
-
413
- # Gọi hàm đăng ký webhook
414
- success, message = register_facebook_webhook(page_id, page_access_token)
415
 
416
- if success:
417
- st.success(f"✅ Đã đăng ký Webhook cho page: {page['name']}")
418
- else:
419
- st.warning(f"⚠️ Không thể đăng ký Webhook cho page: {page['name']} - {message}")
420
-
421
- if st.button("Hiển thị Thông tin Trang"):
422
- for page in st.session_state.pages:
423
- page_id = page['id']
424
- page_name = page['name']
425
- page_access_token = page['access_token']
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
426
 
427
- # Hiển thị thông tin của từng page
428
- st.write(f"**Page Name**: {page_name}")
429
- st.write(f"**Page ID**: {page_id}")
430
- st.write(f"**Page Access Token**: {page_access_token}")
431
- st.write("---") # Dấu phân cách giữa các trang
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
  st.markdown("### Step 1: Đăng nhập Facebook")
328
  st.markdown(f"[Bấm vào đây để đăng nhập Facebook]({auth_url})")
329
 
330
+ query_params = st.query_params
 
 
 
331
 
332
+ if "code" in query_params:
333
+ code = query_params["code"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334
 
335
+ try:
336
+ token_response = requests.get(f"{FB_API_URL}/oauth/access_token", params={
337
+ "client_id": FB_APP_ID,
338
+ "redirect_uri": FB_REDIRECT_URI,
339
+ "client_secret": FB_APP_SECRET,
340
+ "code": code,
341
+ })
342
+
343
+ token = token_response.json()["access_token"]
344
+ st.session_state.token = token
345
+ st.success("🎉 Lấy access token thành công!")
346
+
347
+ st.markdown("""
348
+ <script>
349
+ const url = new URL(window.location.href);
350
+ url.searchParams.delete("code");
351
+ window.location.href = url.pathname;
352
+ </script>
353
+ """, unsafe_allow_html=True)
354
+
355
+ # Lấy page
356
+ pages_response = requests.get(f"{FB_API_URL}/me/accounts", params={"access_token": token})
357
+ pages = pages_response.json().get("data", [])
358
+ st.session_state.pages = pages
359
+
360
+ st.markdown("### Danh sách các Page bạn quản lý:")
361
+ for page in pages:
362
+ st.json(page)
363
+
364
+ except Exception as e:
365
+ st.error(f"Lỗi khi trao đổi token: {e}")
366
+
367
+ # st.markdown("### Step 2: Dán URL sau khi đăng nhập")
368
+ # redirect_input = st.text_input("Redirect URL (sau khi đăng nhập thành công)")
369
+
370
+ # if redirect_input:
371
+ # parsed_url = urlparse(redirect_input)
372
+ # code = parse_qs(parsed_url.query).get("code", [None])[0]
373
+
374
+ # if code:
375
+ # try:
376
+ # token_response = requests.get(f"{FB_API_URL}/oauth/access_token", params={
377
+ # "client_id": FB_APP_ID,
378
+ # "redirect_uri": FB_REDIRECT_URI,
379
+ # "client_secret": FB_APP_SECRET,
380
+ # "code": code,
381
+ # })
382
+
383
+ # token = token_response.json()["access_token"]
384
+ # st.session_state.token = token
385
+ # st.success("Lấy access token thành công!")
386
+
387
+ # pages_response = requests.get(f"{FB_API_URL}/me/accounts", params={"access_token": token})
388
+ # pages = pages_response.json().get("data", [])
389
+ # st.session_state.pages = pages
390
+
391
+ # st.markdown("### Danh sách các Page bạn quản lý:")
392
+ # for page in pages:
393
+ # st.json(page)
394
+
395
+ # except Exception as e:
396
+ # st.error(f"Lỗi: {e}")
397
+
398
+ if "pages" in st.session_state and st.session_state.pages:
399
+ st.markdown("### Step 3: Đăng ký Webhook cho các page")
400
+ selected_pages = st.multiselect(
401
+ "Chọn các page để đăng ký webhook:",
402
+ options=[f"{p['name']} ({p['id']})" for p in st.session_state.pages]
403
+ )
404
+
405
+ if st.button("Đăng ký Webhook"):
406
+ selected_pages = st.session_state.selected_pages # Giả sử bạn có danh sách page đã chọn
407
+ for page in st.session_state.pages:
408
+ label = f"{page['name']} ({page['id']})"
409
+ if label in selected_pages:
410
+ page_id = page['id']
411
+ page_access_token = page['access_token']
412
+
413
+ # Gọi hàm đăng ký webhook
414
+ success, message = register_facebook_webhook(page_id, page_access_token)
415
 
416
+ if success:
417
+ st.success(f" Đã đăng ký Webhook cho page: {page['name']}")
418
+ else:
419
+ st.warning(f"⚠️ Không thể đăng ký Webhook cho page: {page['name']} - {message}")
420
+
421
+ if st.button("Hiển thị Thông tin Trang"):
422
+ for page in st.session_state.pages:
423
+ page_id = page['id']
424
+ page_name = page['name']
425
+ page_access_token = page['access_token']
426
+
427
+ # Hiển thị thông tin của từng page
428
+ st.write(f"**Page Name**: {page_name}")
429
+ st.write(f"**Page ID**: {page_id}")
430
+ st.write(f"**Page Access Token**: {page_access_token}")
431
+ st.write("---") # Dấu phân cách giữa các trang
432
+ else:
433
+ st.success("✅ Bạn đã đăng nhập Facebook.")