我正在使用 Happstack,并且正在尝试使用 Facebook Graph API 将照片上传到 Facebook。
我可以成功地向 Facebook 发布消息。我可以使用url
,但是我正在尝试使用source
参数来执行此操作。
我有一个 PNG 数据的 ByteString,但我似乎无法将它传递给 Facebook。
我正在使用fb Haskell 库。
我为此创建的函数是:
performPost :: String -> IO Response
performPost code = do
x <- BS.readFile "test.png"
performFBAction $ do
postToFB (BS.unpack x) code =<< getToken url2 code
return $ toResponse postFB
postToFB :: (MonadResource m, MonadBaseControl IO m) => String -> String -> FB.UserAccessToken -> FB.FacebookT FB.Auth m FB.Id
postToFB dataString code token = FB.postObject "me/photos" [args "message" "Test Post Pls Ignore",
args "source" dataString] token
我收到的错误是:
错误是 "StatusCodeException (Status {statusCode = 400, statusMessage = "Bad Request"}) [("Content-Type","text/html; charset=utf-8"),("Date","Thu, 29 2015 年 1 月 05:06:00 GMT"),("Connection","close"),("Content-Length","3121")] (CJ {expose = []})
我究竟做错了什么?Graph API 声明source
参数应该是表单数据类型,但到目前为止,我尝试将其转换为这种类型并没有成功。
谢谢!