如何使用 F# 获取 Facebook 访问令牌

How to get the Facebook access token using F#

我在看Facebook SDK for the first time and I want to implement it using F#. I am trying to get the access token based on my application's appId, appSecret, and clientToken. I am looking at the C# example on Whosebug found here

如何翻译此 C# 代码?

var fb = new FacebookClient();
dynamic result = fb.Get("oauth/access_token", new { 
    client_id     = "app_id", 
    client_secret = "app_secret", 
    grant_type    = "client_credentials" 
});
fb.AccessToken = result.access_token;

F# 不允许动态类型化,我不确定如何实现它。

提前致谢。

您可以使用 ImpromptuInterface.FSharp NuGet 包通过 ? 运算符启用动态查找。这将使您能够编写 result?access_token

匿名类型的使用实际上更难翻译,因为 F# 没有这些。解决方案取决于它们的使用方式,虽然我不知道 Facebook SDK 如何使用这些值,但我假设它的工作方式与 ASP.NET Web API 相同,它使用匿名类型作为字典的替代。

在这种情况下,您需要先创建一条具有适当属性的记录:

type Credentials = { 
    client_id     : string
    client_secret : string
    grant_type    : string
}

这应该使您能够创建该类型的新值:

{ 
    client_id     = "app_id"
    client_secret = "app_secret"
    grant_type    = "client_credentials" 
}