Я хочу поделиться фотографией через Graph API, используя консольное приложение, но не могу.
public static void Main(string[] args)
{
var facebookClient = new FacebookClient();
var facebookService = new FacebookService(facebookClient);
var getAccountTask = facebookService.GetAccountAsync(FacebookSettings.AccessToken);
Task.WaitAll(getAccountTask);
var account = getAccountTask.Result;
Console.WriteLine($"{account.Id} {account.Name}");
var postOnWallTask = facebookService.PostOnWallAsync(FacebookSettings.AccessToken,"Hello from C# .NET Core!");
Task.WaitAll(postOnWallTask);
//Console.WriteLine("Hellooooooo");
RunAsync().Wait();
//Console.WriteLine("byeeee");
Console.ReadLine();
}
public static async Task RunAsync()
{
// Use HttpClient
using (var client = new HttpClient())
{
string uri = "https://graph.facebook.com/v3.3/me/photos";
//string link = "http://www.msdevz.com/news/article.aspx?id=5899&o=3";
string picture = "https://images.unsplash.com/photo-1518791841217-8f162f1e1131?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80.png";
string caption = "test photo";
// Formulate querystring for graph post
StringContent queryString = new StringContent("&picture=" + picture + "&caption=" + caption);
// Post to facebook /{page-id}/feed edge
var responsePost = "";
try
{
HttpResponseMessage response = await client.PostAsync(new Uri(uri), queryString);
if (response.IsSuccessStatusCode)
{
Console.WriteLine("post is shared on your page");
// Get the URI of the created resource.
string postId = await response.Content.ReadAsStringAsync();
Console.WriteLine(postId);
Console.ReadLine();
}
}
catch (Exception ex)
{
responsePost = "Facebook Posting Error Message: " + ex.Message;
}
}
}
Я думаю, что есть проблема с функцией postAsync
. Я не получаю сообщение об ошибке, но этот код не публикует фотографии на моей странице.