我正在写一个偶尔会写入我的Facebook页面作为状态的Azure服务。由于该服务没有UI组件,因此Facebook和Facebook .NET SDK页面上的大多数示例都没有帮助。Facebook .NET SDK - >使用生成的令牌获取和发布
我在Facebook上创建了一个应用程序,然后在Visual Studio中启动了F#REPL。我生成如下令牌:
#r "../packages/Facebook.7.0.6/lib/net45/Facebook.dll"
#r "../packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.dll"
open Facebook
open Newtonsoft.Json
type Credentials = {client_id:string; client_secret:string; grant_type:string;scope:string}
let credentials = {client_id="859968674039398";
client_secret="XXXXXXXXXX";
grant_type="client_credentials";
scope="manage_pages,publish_stream,read_stream,publish_checkins,offline_access"}
let client = FacebookClient()
let tokenJson = client.Get("oauth/access_token",credentials)
type Token = {access_token:string}
let token = JsonConvert.DeserializeObject<Token>(tokenJson.ToString())
令牌按预期返回。然而,当我去使用令牌,我得到错误:
let client' = FacebookClient(token.access_token)
let me = client'.Get("me")
回报
的主动访问令牌必须用于查询有关 当前用户的信息。
和
let pageId = "/me"
type FacecbookPost = {title:string; message:string}
let post = {title="Test Title"; message = "Test Message"}
let postResponse = client'.Post(pageId + "/feed", post)
回报
用户未授权应用程序来执行此操作
当我阅读文档,他们讨论如何在申请被Facebook批准 - >但在我的使用案例B/C中没有意义,因为没有申请作为d与人类最终用户 - >甚至任何其他用户调用代码一起定义。
当我使用正确的权限在Facebook Graph Api explorer上生成令牌时,我可以使用令牌来生成GETS和POSTS。我应该只生成令牌并将其粘贴在我的.config文件中?令牌持续多久?
在此先感谢
https://developers.facebook.com/docs/facebook-login/access-tokens – CBroe