Uniaff commited on
Commit
05aac62
·
verified ·
1 Parent(s): 7e8b38a

Update func_facebook.py

Browse files
Files changed (1) hide show
  1. func_facebook.py +23 -1
func_facebook.py CHANGED
@@ -117,23 +117,45 @@ def get_page_id(page_access_token):
117
 
118
  def get_posts(page_id, page_access_token):
119
  url = f"{GRAPH_API_URL}/{page_id}/posts"
 
120
  params = {
121
  "access_token": page_access_token,
122
  "fields": "id,message"
123
  }
 
124
  posts = []
 
125
  while True:
 
126
  response = requests.get(url, params=params)
127
  data = response.json()
 
128
  if 'error' in data:
129
  print(f"Ошибка при получении постов: {data['error']}")
130
  break
 
 
131
  posts.extend(data.get("data", []))
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  if 'paging' in data and 'next' in data['paging']:
133
  url = data['paging']['next']
134
- params = {} # Следующие запросы уже содержат все параметры в URL
 
135
  else:
136
  break
 
137
  return posts
138
 
139
 
 
117
 
118
  def get_posts(page_id, page_access_token):
119
  url = f"{GRAPH_API_URL}/{page_id}/posts"
120
+ url_ads = f"{GRAPH_API_URL}/{page_id}/ads_posts?include_inline_create=true"
121
  params = {
122
  "access_token": page_access_token,
123
  "fields": "id,message"
124
  }
125
+
126
  posts = []
127
+
128
  while True:
129
+ # Выполняем запрос для обычных постов
130
  response = requests.get(url, params=params)
131
  data = response.json()
132
+
133
  if 'error' in data:
134
  print(f"Ошибка при получении постов: {data['error']}")
135
  break
136
+
137
+ # Добавляем обычные посты в общий список
138
  posts.extend(data.get("data", []))
139
+
140
+ # Обрабатываем посты с рекламы
141
+ response_ads = requests.get(url_ads, params={"access_token": page_access_token, "fields": "id,message"})
142
+ data_ads = response_ads.json()
143
+
144
+ if 'error' in data_ads:
145
+ print(f"Ошибка при получении рекламных постов: {data_ads['error']}")
146
+ break
147
+
148
+ # Добавляем рекламные посты в общий список
149
+ posts.extend(data_ads.get("data", []))
150
+
151
+ # Проверяем, есть ли следующие страницы для обычных постов
152
  if 'paging' in data and 'next' in data['paging']:
153
  url = data['paging']['next']
154
+ # Удаляем параметры, так как они уже в URL
155
+ params = {}
156
  else:
157
  break
158
+
159
  return posts
160
 
161