我想在Haskell中创建一个Google Docs文档,所以基本上我想在Haskell中做这个小C#程序的功能(改编自Google示例程序):
using Google.GData.Documents;
using Google.GData.Client;
namespace DocListUploader
{
public class GDocConsole
{
static void Main()
{
var user = "...";
var passwd = "...";
var file = "...";
service = new DocumentsService("DocListUploader");
service.setUserCredentials(user, passwd);
service.UploadDocument(file, null);
}
}
}
来自Google文档API说明here 这个SO回答here我理解它“仅”是发送几个HTTP POST并完成OAuth身份验证的问题,但是如何?有没有人已经完成它并为我提供了一些代码示例......?
编辑:仍然无法弄清楚如何使用oauth库,所以我只写了一个小的C#包装器:using Google.GData.Documents;
using Google.GData.Client;
public class GoogleDoc
{
public static int Upload(string user, string passwd, string file)
{
try
{
var service = new DocumentsService("DocListUploader");
service.setUserCredentials(user, passwd);
service.UploadDocument(file, null);
return 0;
}
catch
{
return -1;
}
}
}
并通过hs-dotnet从module Upload where
import NET
upload :: String -> String -> String -> IO (Int)
upload user passed file =
invokeStatic "[GoogleDoc.dll]GoogleDoc" "Upload" (user, passed, file)
testLocal :: IO ()
testLocal = do
let user = "..."
let passwd = "..."
let file = "..."
returnCode <- upload user passwd file
putStrLn (show returnCode)