CMS365.MetaSharp 9.0.1

dotnet add package CMS365.MetaSharp --version 9.0.1
                    
NuGet\Install-Package CMS365.MetaSharp -Version 9.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CMS365.MetaSharp" Version="9.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CMS365.MetaSharp" Version="9.0.1" />
                    
Directory.Packages.props
<PackageReference Include="CMS365.MetaSharp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CMS365.MetaSharp --version 9.0.1
                    
#r "nuget: CMS365.MetaSharp, 9.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CMS365.MetaSharp@9.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CMS365.MetaSharp&version=9.0.1
                    
Install as a Cake Addin
#tool nuget:?package=CMS365.MetaSharp&version=9.0.1
                    
Install as a Cake Tool

MetaSharp: A .NET library for Facebook and Instagram Graph API.

NuGet version GitHub last commit (main) NuGet Downloads Build status license

MetaSharp is a .NET library that enables you to authenticate and make graph API calls to Facebook. It's used for posting feeds and contents on Facebook using C# and .NET

Installation

MetaSharp is available on NuGet. Use the package manager console in Visual Studio to install it:

Install-Package CMS365.MetaSharp

API support

MetaSharp version Facebook Graph API version
8.x 18.x

MetaSharp currently supports the following Facebook Graph APIs:

Creating an App

Please visit https://developers.facebook.com/apps and create an app.

Access and Security

Please visit https://developers.facebook.com/tools/explorer/ and generate a user token.

Generate a user token

You can adjust permissions based on your needs. This is a short lived token and can be used for Facebook Graph api for user level operations. We will use it to generate a long live user token.

User postman and send a request to the following endpoint and get a long lived user token.

https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=APP_CLIENT_ID&client_secret=APP_CLIENT_SECRET&fb_exchange_token=YOUR_SHORT_LIVED_USER_TOKEN_HERE

You will get a response like

{
    "access_token": "vMF7UXNvRZC6m58zr0tRQJP3MVCZBd6JDhHkyCXjWcfag8hfcmjImn85B2YPZAUYK4eirj9ZA0ZAsp1TocZD",
    "token_type": "bearer",
    "expires_in": 5182228
}

We will get an access_token which is long lived user token and can be used for Facebook Graph api for user level operations but we have to generate a page token so that we can perform action on a Facebook page.

https://graph.facebook.com/FACEBOOK_PAGE_ID?fields=access_token&access_token=LONG_LIVED_USER_TOKEN
{
    "access_token": "EAASZAbmgGb7YBAFWM3uNUKan1ZBTf4rIAQiLzPSNMa7Lm3Ak1R8tNAVwsORl0LZAcPNEURzFgl6",
    "id": "111444904022049"
}

We have now got a page token which we will use to perform actions on a Facebook page.

Using the MetaSharp

Initialize the instance with the page token

var facebookController = new MetaSharp.FacebookController("EAASZAbmgGb7YBAFWM3uNUKan1ZBTf4rIAQiLzPSNMa7Lm3Ak1R8tNAVwsORl0LZAcPNEURzFgl6");

Page

Get page details

PageInfo pageInfo = await facebookController.GetPageDetailsAsync("[PAGE_ID]");

Post with multiline text and images

CreateFeedResponse feedWithImages = await facebookController.PostPageFeedAsync("[PAGE_ID]", new MetaSharp.Entities.Page.PageFeedRequestContent()
{
    MessageLines = new List<string>() { "I am a test message", "I am on next line", "https://google.com" },
    PhotoUrls = new List<string>() { "https://google.com/34f4ea06a374b216cb1c778a0d1810c6_480x.jpg?v=1684836648" }
});

Post with multiline text and a link

CreateFeedResponse feedWithLink = await facebookController.PostPageFeedAsync("[PAGE_ID]",new List<string>() 
{ 
    "I am a test message", "I am on next line", "I am a third line", "I am a fourth line"
},
"https://google.com");

Get page albums

var pageAlbums = await facebookController.GetPageAlbumsAsync("[PAGE_ID]", string fields = "");

Get page albums

Returns most recent 25 conversations. List of fields is available at https://developers.facebook.com/tools/explorer/1294599377547190/?method=GET&path=me%2Fconversations

var pageConversations = await facebookController.GetPageConversations("[PAGE_ID]", string fields = "");

General Graph API methods

You can call direct graph API method If there is no mapping available. For example

Get

var info = await facebookController.Get("/[apge_id]?fields=name,about,link,cover");
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
9.0.1 141 6/16/2025
8.0.0.1 290 7/14/2024
7.18.0.5 132 7/14/2024
7.18.0.4 143 6/26/2024
7.18.0.3 1,043 10/19/2023
7.18.0.2 152 10/19/2023
6.0.0.2 128 7/14/2024