My code is upload video to facebook using Graph API, It was uploading successfully, but after upload, iam getting error when iam trying to delete the video
import requests
videoTitle = 'Title of the post'
videoDesc = 'some xyz desc'
excel_path = fr'Output/Social/Facebook API.xlsx'
df = pd.read_excel(excel_path)
pageID = df['PageID'].tolist()[0]
access_token = df['Access Token'].tolist()[0]
url = f'https://graph-video.facebook.com/v17.0/{pageID}/videos'
try:
vidFile = r"Output/ImagestoVideo/1616 Mackinac Dr. Crowley.mp4"
files = {'source': open(vidFile, 'rb')}
payload = {
'access_token': access_token,
'title': videoTitle,
'description': videoDesc,
}
response = requests.post(url, files=files, data=payload, verify=False).json()
files['source'].close()
video_id = response['id']
if video_id:
print(f'https://www.facebook.com/{pageID}/videos/{video_id}')
except:
pass
os.remove(r"Output/ImagestoVideo/1616 Mackinac Dr. Crowley.mp4")
This is the error message
Traceback (most recent call last):
File "D:\My Work\Drake YT Shorts\test3.py", line 92, in <module>
os.remove(r"Output/ImagestoVideo/1616 Mackinac Dr. Crowley.mp4")
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'Output/ImagestoVideo/1616 Mackinac Dr. Crowley.mp4'
I am closing the file files['source'].close()
after upload, but that doesn't resolve the issue.
@1adog1 given solution works for me.
import requests
videoTitle = 'Title of the post'
videoDesc = 'some xyz desc'
excel_path = fr'Output/Social/Facebook API.xlsx'
df = pd.read_excel(excel_path)
pageID = df['PageID'].tolist()[0]
access_token = df['Access Token'].tolist()[0]
url = f'https://graph-video.facebook.com/v17.0/{pageID}/videos'
vidFile = r"Output/ImagestoVideo/1616 Mackinac Dr. Crowley.mp4"
files = {'source': open(vidFile, 'rb')}
try:
payload = {
'access_token': access_token,
'title': videoTitle,
'description': videoDesc,
}
response = requests.post(url, files=files, data=payload, verify=False).json()
video_id = response['id']
if video_id:
print(f'https://www.facebook.com/{pageID}/videos/{video_id}')
except:
pass
files.clear()
os.remove(r"Output/ImagestoVideo/1616 Mackinac Dr. Crowley.mp4")