python - 通过请求发布到 FB 组,允许加载 youtube 视频

标签 python facebook python-requests

我制作了一个简单的 python 脚本,用于向 Facebook 群组发布随机的 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 视频加载,我什至不确定这是否可能?

最佳答案

看起来您实际上并没有正确地共享链接,看起来您正在将 URL 添加到“消息”参数中 -

如果您在“链接”参数中指定它,它应该正确附加

关于python - 通过请求发布到 FB 组,允许加载 youtube 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36671936/

相关文章:

python - 如何在 python 的 POST 请求中将 null 作为值传递?

javascript - 如何在新的 Facebook JavaScript SDK 中请求权限?

python - 请求库未通过代理正确引导 HTTP 请求

python - Pandas DataFrame 到控制台格式的 CSV

python - 如何判断 Python 模块是否从模块内重新加载()

django - 我应该在 'Server IP Whitelist' facebook 开发者控制台上放置哪个 IP 地址? (来自 Facebook 的 400 错误)

java - 将 Facebook 功能整合到 Java Web 应用程序中的最佳开源 Java 库?

python-2.7 - 使用 Python 请求 session 时出现 SSL EOF 错误

Python - 尽管返回值是列表,但递归函数无法与 len() 一起使用

python - 将具有混合固有类型的字符串列表转换为固有类型