python - 如何在不使用 facebook sdk 而仅通过 POST 到 URL 的情况下将照片发布到 facebook ..?

标签 python url facebook-graph-api

在 python facebook SDK 中,我们缺少上传照片,而是我想在不使用现有 SDK 的情况下上传照片..

那么如何在Python中实现这些步骤呢?

You can publish a photo to a specific, existing photo album with a POST to http://graph.facebook.com/ALBUM_ID/photos.

curl -F 'access_token=...' \
     -F '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b1c2dec4c3d2d48cf1d7d8ddd49fc1dfd6" rel="noreferrer noopener nofollow">[email protected]</a>' \
     -F 'message=Caption for the photo' \
     https://graph.facebook.com/me/photos

最佳答案

这不是一个可以廉价完成工作的地方,而是一个学习编程的地方,所以如果有人没有现成的代码,我很怀疑有人会为你做你的工作。

无论如何,有一些提示:为您使用的任何浏览器获取 Tamper Data 或类似的插件,并记录您手动执行任务时发送的所有数据。之后,您只需使用 Python urllib 库来模仿它并解析 html 文档以获得您需要的非静态部分。

不知道Facebook(没有帐户),但你可能必须登录并保留cookie,所以我有一个非常相似的小例子。首先使用登录站点登录,然后移动到我感兴趣的站点并获取数据..

def get_site_content():
    def get_response(response):
        content = response.info()['Content-Type']
        charset = content[content.rfind('=') + 1:] # ugly hack, check orderly
        return response.read().decode(charset)  

    cj = http.cookiejar.CookieJar()
    opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
    data = urllib.parse.urlencode({ "log" : "1", "j_username" : USERNAME, "j_password" : PASSWORD })
    opener.open("url", data)  
    data = urllib.parse.urlencode({ "months" : "0" })
    resp = opener.open("url2", data)
    return get_response(resp)

关于python - 如何在不使用 facebook sdk 而仅通过 POST 到 URL 的情况下将照片发布到 facebook ..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5109427/

相关文章:

python - 在用于网页抓取的 Python 代码中工作一段时间后出现错误

javascript - 我如何用 Javascript 编写这个 urllize 函数?

PHP mysql - ...和列 ='anything' ...?

ruby - 如何从 ruby​​ 中的 url 获取网站名称?

facebook - 使用两个不同 Facebook 应用程序的两个不同用户具有相同的用户 ID

facebook - 带有 webhook 的 Facebook Realtime API 是否也适用于页面评论和用户帖子?

python - 如何使用 CliRunner 测试脚本?

python - 将 BytesIO 转换为文件

python - Python 中的链式字符串格式化

ios - 在 iOS 中获取 Facebook 好友时出错