簡體   English   中英

在不使用C#登錄的情況下發布到Facebook頁面

[英]Posting to a Facebook page without logging in using C#

我已經閱讀了很多有關如何在不登錄的情況下處理到FB的帖子-特別是在我的實例中進入托管頁面,有些使用已失效的“ offline_access”方法,有些則與令牌有關。

我已經從我的圖形API創建了令牌-https: //developers.facebook.com/tools/explorer

我還用一些代碼創建了一個小測試,例如

FacebookClient fb = new FacebookClient("Access_Token"]);
Dictionary<string, object> argList = new Dictionary<string, object>();
argList["message"] = "my message";
fb.Post("mypage/feed", argList);

這可以按預期正常運行,並發布到有問題的頁面牆。 但是,如果我注銷了Facebook,它將無法正常工作,從而引發錯誤。

Facebook.FacebookOAuthException: (OAuthException - #190) 
Error validating access token: This may be because the user logged out

我對為什么在https://developers.facebook.com/tools/explorer區域中正確設置權限(例如“ publish_stream”,“ manage_pages”等)時為什么會發生這種情況感到困惑。

我什至將令牌分配給了我創建的應用程序,但這仍然無濟於事。

有沒有人用C#提供了一個示例,該示例說明了您未登錄時如何發布?

提前致謝,

行為。

它可能是由於訪問令牌驗證過期而引起的,如果您具有用於生成訪問令牌的應用程序ID和密鑰,則可以使用以下代碼將訪問令牌驗證期限延長至60天。

public string exchange_access_token(string actoken)
    {
        var fb = new FacebookClient();
        dynamic result = fb.Get("oauth/access_token", new
        {
            client_id = "xxxxxxxxx",
            client_secret = "xxxxxxxxxxxx",
            grant_type = "fb_exchange_token",
            fb_exchange_token = actoken
        });

        return result;
    }

但是,如果您沒有應用程序的詳細信息,您就不能這樣做...

暫無
暫無

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

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