iT邦幫忙

1

[Python] Facebook粉絲團 自動排程發文 自己看得到貼文 粉絲看不到

問題

本人最近寫了一個FB自動排程發文
也如期把功能完成
FB粉絲專業上功能正常
也如期發布影片
自己看或是切換粉絲觀看角度 也有貼文

但是我真的切換另一個帳號
完全沒有程式排程發布的文章
我接著試試看使用普通手動發文
卻可以看到
是不是程式發布會被限制發文
才會只有我自己看得到 別人或是粉絲看不到貼文

已排程貼文

https://ithelp.ithome.com.tw/upload/images/20191109/201122716qHabVCUf6.jpg

顯示有幾則即將發布

https://ithelp.ithome.com.tw/upload/images/20191109/20112271vWgXDVk6Be.jpg

使用程式發布 並且 是全球都可以瀏覽

https://ithelp.ithome.com.tw/upload/images/20191109/20112271Wac2JntDHC.jpg

程式

程式碼部分我把user_id跟token先刪掉一部分
可替換你的粉絲團id跟token
這裡是多文章傳入uploadVideo
會自動分隔時間去排程
FB SDK上傳的資料如下
uploadTimeStamp 是時間戳

#### 上傳資訊
	m = {'description': title,
	      'title': title,
	      'published':"false",
	      'scheduled_publish_time' : uploadTimeStamp }

完整程式碼

import requests
import time
import json
def uploadVideo(title,id):
	# 基本設置
	_user_id = '52484313'    # user id (ex. 1603333222111000)
	_token = 'EAAOJXyUZAtxkBAOo3UIHL4b9zLO17sBhN6RlbQa9ZAaAXbzLO6b8ZAb81NxjSSVwcSOKUuAHLSsux331ohqL1fMyJdzIK4D55ZBwUxSyma5zgjg4XunQJ1dn0Oin7qBJ28oczZBcnONXbWBXCZARYUJQRUuAuLeWg7OFM9JsOSkQZDZD'    # Graph User API Token
	url = 'https://graph-video.facebook.com/52484313/videos?access_token='+_token
	files = {
	    'file': open(id + '.mp4', 'rb')
	}

	# 時間戳
	timeStamp = int(time.time())  #這是時間戳轉換為其他日期格式, 如:"%Y-%m-%d %H:%M:%S"
	uploadTimeStamp = timeStamp

	# 讀取本地時間資料
	data = {}
	data['data'] = []
	with open('timeStamp.txt') as json_file:
		data = json.load(json_file)

	# 判斷最後時間使否太舊
	if len(data['data']) == 0:
		uploadTimeStamp = timeStamp
	else:
		print(data['data'][0]['lastTime'])
		print("VS")
		print(timeStamp)
		if data['data'][0]['lastTime'] > timeStamp:
			uploadTimeStamp = data['data'][0]['lastTime']
		else:
			uploadTimeStamp = timeStamp

	uploadTimeStamp = uploadTimeStamp + 500
	print(uploadTimeStamp)
	# 儲存最後時間
	data = {}
	data['data'] = []
	data['data'].append({
		'lastTime' : uploadTimeStamp,
	})
	with open('timeStamp.txt', 'w') as outfile:
		json.dump(data, outfile)

	# 上傳資訊
	m = {'description': title,
	      'title': title,
	      'published':"false",
	      'scheduled_publish_time' : uploadTimeStamp }
	response = requests.post(url, data=m, files=files).text
	print(response)

還是程式發文是要審核的
要審核過才可以發文

自動排程發文,是用你自己的身分,還是用粉絲團的?
自己的 但有取得粉絲團權限
1
dragonH
iT邦大師 1 級 ‧ 2019-11-09 15:37:37
最佳解答

根據 這個 還有 這個

有可能是因為你的 app 還是 development 的狀態

或許你可以試試看

不過

我是還沒實測過就是了 /images/emoticon/emoticon07.gif

剛剛實測過了

的確是因為 app 還是 development 的狀態

一旦變更為上線狀態後

就正常了

連之前被隱藏的文章也都可以看的到

不過一旦上線

有些權限就必須而外去申請才能夠使用

發文/影片/圖 好像就需要/images/emoticon/emoticon06.gif

謝了 真的是要先開啟Online

0
samuel24
iT邦新手 5 級 ‧ 2019-11-10 08:25:01

我之前做過類似的專案

基本上是這樣:
Development->粉絲看不到機器人的發文,機器人可以發文
Online->粉絲看得到機器人的發文,機器人無法發文

如果要同時可以發文又讓粉絲可以看到,你的程式必須通過Facebook審核。(我那時到這一步就放棄了XD)

真的耶 WTFFFFF
原來是這樣 害我找好久

0
alansyue
iT邦新手 5 級 ‧ 2019-11-10 23:36:01

感謝,今天發現我也有一樣的問題

我要發表回答

立即登入回答