python facebook-sdk 当我发布然后 ''facebook.GraphAPIError: POST 数据应该是字节或字节的迭代。它不能是 str 类型。”

Posted

技术标签:

【中文标题】python facebook-sdk 当我发布然后 \'\'facebook.GraphAPIError: POST 数据应该是字节或字节的迭代。它不能是 str 类型。”【英文标题】:python facebook-sdk when i post then ''facebook.GraphAPIError: POST data should be bytes or an iterable of bytes. It cannot be of type str."python facebook-sdk 当我发布然后 ''facebook.GraphAPIError: POST 数据应该是字节或字节的迭代。它不能是 str 类型。” 【发布时间】:2014-11-12 08:53:39 【问题描述】:

我用python3.4

facebook-sdk 版本是 0.4

graph = GraphAPI("my access token")
profile = graph.get_object("me")
print(profile)
friends = graph.get_connections("me", "friends")
print(friends)
graph.put_object("me", "feed", message="I am writing on my wall!")

然后:

facebook.GraphAPIError: POST data should be bytes or an iterable of bytes. It cannot be of type str.

为什么会这样?

【问题讨论】:

您是如何获得访问令牌的?在代码 (github.com/pythonforfacebook/facebook-sdk/blob/master/facebook/…) 中,他们指出可以使用user = get_user_from_cookie(request.cookies, key, secret) 然后user["access_token"] 来完成。你是这样的吗? 【参考方案1】:
gettoken = get_app_access_token("3808XXXXXXXX", "f8886b23167ca43XXXXXXXXXXX")

这就是我获取访问令牌的方式 但是

我去了这个网站

https://developers.facebook.com/tools/explorer/380896645420612/?method=GET&path=me%3Ffields%3Did%2Cname&version=v2.2

访问令牌有另一种类型

看起来像:

CAAFabGkZCFkQBAFR363qZAFn2PBxPfgDMxeHQhYN1u5lE69juqeShVnSnsJrspF0EAiVKaMSn5fTquts4aFdw35gF0hxDKZArTDZCwETA4LqrmD3vdZCpT3Qgbebzay2XevkNmSsrXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

有什么不同吗?

一个是 app_token

另一个是访问令牌

好纠结

【讨论】:

以上是关于python facebook-sdk 当我发布然后 ''facebook.GraphAPIError: POST 数据应该是字节或字节的迭代。它不能是 str 类型。”的主要内容,如果未能解决你的问题,请参考以下文章

Facebook-sdk python模块没有属性GraphAPI

Facebook Graph API 和 python facebook-sdk 上传多个文件

Android facebook-sdk 在土耳其语中崩溃

无法导入 facebook-sdk 4.0.1

无法将 facebook-sdk 导入 Eclipse

ios 应用程序的用户是不是可以使用 facebook-sdk 在 facebook 上喜欢 URL?