EDİT: KONUYU YENİ GÖRENLERİ YANILTMAMAK ADINA BELİRTMEK İSTERİM, FACEBOOK TOKEN ALMA İLE İLGİLİ GENEL KISITLAMALAR OLDUĞU İÇİN SİSTEM ARTIK ÇALIŞMIYOR. İLGİNİZE TEŞEKKÜR EDERİZ.
Facebook profilinize direkt video linklerini yükletebilir ve daha sonra facebook paketi ile izleyebilirsiniz. Veya direkt linkten indirip sonra video yüklemek sizin için extra kota harcatacaksa bu yöntem ile video upload etmek çok daha pratik olacaktır.
Erişim jetonu, yani access_token aldıktan sonra verdiğim python scriptini kullanarak elinizdeki direkt video linki'ni facebook profilinize yükleyebilirsiniz. Bunun için 2 seçeneğiniz var, ya
1- Facebookta oluşturduğum qpython.club uygulaması üzerinden aşağıda verdiğim link ile tek seferde token almak istiyosanız, sizi uygulamaya eklemem gerekiyor, bu yüzden facebook id'nizi bana bildirin.
Token Almak için Bu linke gidin
Daha sonra forum ana sayfasına yönlendirileceksiniz ama adres satırında token belirecek
Tokeniniz "..access_token=" ile "&expires.." arasında kalan koddur, bunu kopyalayıp verdiğim kodun içerisindeki "access_token" karşılığındaki tırnak içerisine yazacaksınız.
2- Developer.facebook.com adresinden support&tools 'a girip GraphAPI üzerinden kendiniz "public_actions, user_videos, user_photos" izinlerini vererek alabilirsiniz. Bu belki sizin bir uygulama açmanızı da isteyebilir ama her seferinde aynı işlemleri yapmanız gerekecektir.
Token aldıktan ve koda kaydettikten sonra kodu çalıştıracaksınız ve zaten video açıklaması ve başlığı gibi soruları sizden kod alacaktır, sonra video id'si ve "Yukleme tamamlandi, 1-2 dk sonra profilinize yansir." bildirimini aldığınızda yükleme gerçekleşmiş demektir, biraz bekledikten sonra profilinize yansıyacaktır.
Not: Bunun için facebook'un 5 dakikada yükleyebilme şartı var. Yani video 5 dakikada yüklenmeli, ama bu video uzunluğunun 5dk olacağı anlamına gelmez. Sunucular arası yükleme hızları bizimkinden çok daha hızlıdır ve 1gb lık bir video 1 dk içerisinde yüklenebilir.
GÜNCELLEME (23-12-2017):
Facebook profilinize direkt video linklerini yükletebilir ve daha sonra facebook paketi ile izleyebilirsiniz. Veya direkt linkten indirip sonra video yüklemek sizin için extra kota harcatacaksa bu yöntem ile video upload etmek çok daha pratik olacaktır.
Erişim jetonu, yani access_token aldıktan sonra verdiğim python scriptini kullanarak elinizdeki direkt video linki'ni facebook profilinize yükleyebilirsiniz. Bunun için 2 seçeneğiniz var, ya
1- Facebookta oluşturduğum qpython.club uygulaması üzerinden aşağıda verdiğim link ile tek seferde token almak istiyosanız, sizi uygulamaya eklemem gerekiyor, bu yüzden facebook id'nizi bana bildirin.
Token Almak için Bu linke gidin
Daha sonra forum ana sayfasına yönlendirileceksiniz ama adres satırında token belirecek
Tokeniniz "..access_token=" ile "&expires.." arasında kalan koddur, bunu kopyalayıp verdiğim kodun içerisindeki "access_token" karşılığındaki tırnak içerisine yazacaksınız.
2- Developer.facebook.com adresinden support&tools 'a girip GraphAPI üzerinden kendiniz "public_actions, user_videos, user_photos" izinlerini vererek alabilirsiniz. Bu belki sizin bir uygulama açmanızı da isteyebilir ama her seferinde aynı işlemleri yapmanız gerekecektir.
Token aldıktan ve koda kaydettikten sonra kodu çalıştıracaksınız ve zaten video açıklaması ve başlığı gibi soruları sizden kod alacaktır, sonra video id'si ve "Yukleme tamamlandi, 1-2 dk sonra profilinize yansir." bildirimini aldığınızda yükleme gerçekleşmiş demektir, biraz bekledikten sonra profilinize yansıyacaktır.
PHP Kod:
#qpy:console
access_token = ""
import platform
import subprocess
import os, sys
if platform.platform().startswith("Linux"):
try:
import requests
except:
arg="pip install requests"
os.system(sys.executable+" "+sys.prefix+"/bin/"+arg)
os.execv(sys.executable, ['python'] + sys.argv)
try:
from requests_toolbelt import MultipartEncoder
except:
arg="pip install requests_toolbelt"
os.system(sys.executable+" "+sys.prefix+"/bin/"+arg)
os.execv(sys.executable, ['python'] + sys.argv)
else:
try:
import requests
except:
subprocess.call(["python","-m","pip","install","requests"])
import requests
try:
from requests_toolbelt import MultipartEncoder
except:
subprocess.call(["python","-m","pip","install","requests_toolbelt"])
from requests_toolbelt import MultipartEncoder
if platform.platform().startswith("Linux"):
try :
import androidhelper
droid = androidhelper.Android()
video_url = droid.dialogGetInput('Facebook Video Url', 'Link girin:', droid.getClipboard().result).result
except:
video_url = raw_input("link gir: ")
else:
from Tkinter import *
import ttk
root = Tk()
root.title("Link Girin")
root.resizable(width=FALSE, height=FALSE)
pgen = 500
pyuks = 100
ekrangen = root.winfo_screenwidth()
x = (ekrangen - pgen) / 2
root.geometry("%dx%d+%d+%d"%(pgen, pyuks, x, 200))
def clp(event = None):
global video_url
video_url = entry.get()
root.destroy()
entry = Entry(root, width=80)
entry.pack(pady=15)
ttk.Style().configure("prk.TButton", padding=6, relief="flat", background="#EBE6E6", foreground="#347D2B", font=("DejaVuSans", 11, "bold"))
tara = ttk.Button(root, text="Tamam", style='prk.TButton', command=clp, width=22)
tara.pack()
entry.insert(0, root.clipboard_get())
root.bind("<Return>", clp)
mainloop()
def put_video(video_url, page_id, access_token,description, title):
video_file_name=title
local_video_file=video_url
path = "{0}/videos".format(page_id)
fb_url = "https://graph-video.facebook.com/{0}?access_token={1}".format(
path, access_token)
print fb_url
m = MultipartEncoder(
fields={'description': description,
'title': title,
'comment':'postvideo',
'file_url': video_url }
)
r = requests.post(fb_url, headers={'Content-Type': m.content_type}, data=m)
if r.status_code == 200:
j_res = r.json()
facebook_video_id = j_res.get('id')
print ("facebook_video_id = {0}".format(facebook_video_id))
print ("Yukleme tamamlandi, 1-2 dk sonra profilinize yansir.")
else:
print ("Facebook upload error: {0}".format(r.text))
print video_url
page_id = "me"
description = raw_input("Video Aciklamasi: ")
title = raw_input("Video Basligi: ")
put_video(video_url, page_id, access_token, description, title)
Not: Bunun için facebook'un 5 dakikada yükleyebilme şartı var. Yani video 5 dakikada yüklenmeli, ama bu video uzunluğunun 5dk olacağı anlamına gelmez. Sunucular arası yükleme hızları bizimkinden çok daha hızlıdır ve 1gb lık bir video 1 dk içerisinde yüklenebilir.
GÜNCELLEME (23-12-2017):
- Otomatik Token Alma Eklendi
- Başlık ve Açıklama Opsiyonel Yapıldı
- Çıktı Değiştirildi
PHP Kod:
#qpy:console
# Facebook Giris Bilgileri
username = ""
password = ""
app_url = "https://www.facebook.com/dialog/oauth?client_id=887901274681144&redirect_uri=http://qpython.club&scope=publish_actions,publish_pages,user_videos,user_photos,user_posts&response_type=token"
import platform
import subprocess
import os, sys, time
import threading
if not username or not password:
print "Facebook Giris Bilgilerini Giriniz..."
os._exit(0)
if platform.platform().startswith("Linux"):
try:
import requests
except:
arg="pip install requests"
os.system(sys.executable+" "+sys.prefix+"/bin/"+arg)
os.execv(sys.executable, ['python'] + sys.argv)
try:
from requests_toolbelt import MultipartEncoder
except:
arg="pip install requests_toolbelt"
os.system(sys.executable+" "+sys.prefix+"/bin/"+arg)
os.execv(sys.executable, ['python'] + sys.argv)
else:
try:
import requests
except:
subprocess.call(["python","-m","pip","install","requests"])
import requests
try:
from requests_toolbelt import MultipartEncoder
except:
subprocess.call(["python","-m","pip","install","requests_toolbelt"])
from requests_toolbelt import MultipartEncoder
if platform.platform().startswith("Linux"):
try :
import androidhelper
droid = androidhelper.Android()
video_url = droid.dialogGetInput('Facebook Video Url', 'Link girin:', droid.getClipboard().result).result
except:
video_url = raw_input("link gir: ")
else:
from Tkinter import *
import ttk
root = Tk()
root.title("Link Girin")
root.resizable(width=FALSE, height=FALSE)
pgen = 500
pyuks = 100
ekrangen = root.winfo_screenwidth()
x = (ekrangen - pgen) / 2
root.geometry("%dx%d+%d+%d"%(pgen, pyuks, x, 200))
def clp(event = None):
global video_url
video_url = entry.get()
root.destroy()
entry = Entry(root, width=80)
entry.pack(pady=15)
ttk.Style().configure("prk.TButton", padding=6, relief="flat", background="#EBE6E6", foreground="#347D2B", font=("DejaVuSans", 11, "bold"))
tara = ttk.Button(root, text="Tamam", style='prk.TButton', command=clp, width=22)
tara.pack()
entry.insert(0, root.clipboard_get())
root.bind("<Return>", clp)
mainloop()
def put_video(video_url, page_id, access_token, description=None, title=None):
try :
path = "{0}/videos".format(page_id)
fb_url = "https://graph-video.facebook.com/{0}?access_token={1}".format(path, access_token)
fields = {}
fields["file_url"] = video_url
if description:
fields["description"] = description
if title:
fields["title"] = title
m = MultipartEncoder(fields=fields)
r = requests.post(fb_url, headers={'Content-Type': m.content_type}, data=m)
if r.status_code == 200:
j_res = r.json()
facebook_video_id = j_res.get('id')
sonuc = "facebook_video_id = {0}".format(facebook_video_id) + "\nYukleme tamamlandi, 1-2 dk sonra profilinize yansir."
else:
sonuc ="Facebook upload error: {0}".format(r.text)
except Exception as error:
sonuc = error
return sonuc
def get_token(username, password):
data = {"email" : username, "pass" : password}
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1)"}
s = requests.Session()
s.get("http://www.facebook.com")
s.post("https://www.facebook.com/login.php?login_attempt=1&1wv=110", data=data)
r = s.head(app_url, headers=headers)
token = r.headers['location'].split("access_token=")[1].split("&expires_in")[0]
return token
def bekle():
karakter = ["\\", "|", "/", "-"]
while True:
if access_token:
print "Access Token Basariyla Alindi."
break
for i in range(0, 4):
sys.stdout.write("Token aliniyor, bekleyiniz..."+karakter[i]+" \r")
sys.stdout.flush()
time.sleep(0.1)
def bekle2():
while True:
nokta = ""
if video:
print video
break
for i in range(1, 5):
sys.stdout.write("Video Yukleniyor"+nokta+" \r")
sys.stdout.flush()
nokta += "."
time.sleep(0.1)
time.sleep(1)
print "Video Url: ", video_url
title = raw_input("Video Basligi (opsiyonel): ")
description = raw_input("Video Aciklamasi (opsiyonel): ")
page_id = "me"
access_token = ""
threading.Thread(target = bekle,).start()
access_token = get_token(username, password)
video = ""
threading.Thread(target = bekle2,).start()
video = put_video(video_url, page_id, access_token, description, title)
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club