簡體   English   中英

獲取永久的Facebook訪問令牌

[英]get permanent facebook access token

我已經使用JSDK為我的facebook應用程序驗證用戶身份。 我正在獲取訪問令牌,但它在1/2小時內過期。 那么如何獲得長期訪問令牌?

我使用的代碼是:

 var fb = new FacebookClient();
 Dictionary<string,Object> sParams=new Dictionary<string,Object>();
 sParams.Add("client_id",My_App_ID);
 sParams.Add("client_secret",My_App_Secret);
 sParams.Add("grant_type","fb_exchange_token");
 sParams.Add("fb_exchange_token",Short_lived_accessToken);
 dynamic result = fb.Get("oauth/access_token",sParams);
 fb.AccessToken = result.access_token;

但它在行dynamic result = fb.Get("oauth/access_token",sParams);時給了我錯誤無效的JSON字符串 dynamic result = fb.Get("oauth/access_token",sParams);

我在這里做什么錯?

使用此代碼:

        var client = new FacebookClient(Short_lived_accessToken);

        dynamic result = client.Post("oauth/access_token", new
        {
            client_id = My_App_ID,
            client_secret = My_App_Secret,
            grant_type = "fb_exchange_token",
            fb_exchange_token = Short_lived_accessToken
        });

        Response.Write("Long live access token: [" + result.access_token + "]");

希望能幫助到你。

您將從端點獲得的返回結果不是 JSON,而是表單中的純文本

access_token=new_long-lived_access_token&expires=5130106

因此,您必須以某種方式告訴您的應用程序(?),結果不是JSON; 或者,如果FacebookClient :: Get始終期望答案為JSON,則可能必須完全使用其他方法來發出請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM