2016-04-17 7 views
2

FacebookのグループにランダムなYouTube動画と見積もりを投稿するシンプルなpythonスクリプトを作った。FBグループに投稿して、YouTube動画をアップロードできるようにする

問題は、Facebookにランダムなビデオを読み込む時間を与えないということです。ポストは次のようになり、現時点では、具体的には:
enter image description here

しかし、私は、それは次のようになりたい:私の現在のコードは次のようになります
enter image description here

(私は、機密データを省略しました):

""" Song of the day script """ 

import facebook 
import os 
from pyquery import PyQuery 
import requests 
import random 


class Sofy(object): 

    GROUPS = ["123", "123"] 
    FB_ACCESS_TOKEN = "123accesstoken" 
    PLAYLISTS = ["123youtubeplaylist"] 
    VIDEOS = [] 

    def get_video(self): 
     req = requests.get("https://www.youtube.com/playlist?list={}".format(self.PLAYLISTS[0])) 
     pq = PyQuery(req.text) 

     for video in pq(".pl-video").items(): 
      self.VIDEOS.append(video.attr("data-video-id")) 
     return "https://www.youtube.com/watch?v={}".format(random.choice(self.VIDEOS[-5:])) 

    def get_qoute(self): 
     pwd = os.path.dirname(os.path.realpath(__file__)) 
     fx = pwd + '/quotes.txt' 
     lines = open(fx).read().splitlines() 
     return random.choice(lines) 

    def run(self): 
     quote = self.get_qoute() 
     video = self.get_video() 
     graph = facebook.GraphAPI(access_token=self.FB_ACCESS_TOKEN, version='2.2') 

     for group in self.GROUPS: 
      graph.put_object(group, "feed", message="{}\n Song of the day: {}".format(quote, video)) 
     print "All done :)" 

if __name__=='__main__': 
    sofy = Sofy() 
    sofy.run() 

私はSeleniumでこれをやってみましたが、期待どおりに仕事を引用しませんでした。また、この方法はクリーナーに見えますが、私はyoutubeのビデオを読み込ませる方法を理解できません、私はそれが可能かどうかもわからないのですか?

答えて

1

あなたが実際に正しくリンクを共有しているようには見えませんが、あなたは「メッセージ」パラメータにURLを追加しているように見える -

あなたが "でそれを指定した場合、正しく接続する必要がありますリンク 'パラメータ

+0

これはまさにそれでした、ありがとう! – intelis

関連する問題