Наконец,
Я сделал настоящий поворот на 360, просто не используя Facebook SDK.Кто-то сказал мне, как легко публиковать сообщения только с помощью http-запросов!И с помощью другого поста (/5170948/asp-net-soobschenie-na-stene-facebook) я выяснил, как это сделать. Вот мой маленький простой код для этого. В основном, я использовал WPF, чтобы создать окна, где «пользователь» сможет подключаться к Facebook ивверху также есть текстовое поле, показывающее, что я хочу ... токен или веб-ответ ... наконец, у меня было 2 кнопки: первая записывается в Facebook, вторая отправляет сообщение в Facebook ... естькод в Window1.xaml.cs
using System;
using System.Text;
using System.Windows;
using System.Net;
using System.IO;
namespace HDI_WPF_WebBrowser_cs
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void btnOnline_Click(object sender, RoutedEventArgs e)
{
//dont forget to change the appID
webOutput.Navigate(new Uri("https://www.facebook.com/dialog/oauth?client_id=APPID&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token"));
}
private void btnCustom_Click(object sender, RoutedEventArgs e)
{
string adresseWeb = webOutput.Source.ToString();
string token = adresseWeb.Remove(0, adresseWeb.IndexOf("#access_token=") + 14);
token = token.Remove(token.IndexOf("&expire"));
txtInput.Text = token;
//dont forget to change the userID
var url = string.Format("https://graph.facebook.com/USERID/feed?access_token=" + token);
var req = WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
string postData = "'access_token='" + token
+ "'&message=Testing testing";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
var stream = req.GetRequestStream();
stream.Write(byteArray, 0, byteArray.Length);
stream.Close();
WebResponse response = req.GetResponse();
txtInput.Text = ((HttpWebResponse)response).StatusDescription;
stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
}
}
}
и Window1.xaml для WPF
<Window x:Class="HDI_WPF_WebBrowser_cs.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="500" Width="600">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="Input:" HorizontalAlignment="Right" />
<TextBox x:Name="txtInput" Background="Bisque" Grid.Row="0" Grid.Column="1" />
<WebBrowser x:Name="webOutput" Grid.Row="1" Grid.ColumnSpan="2" />
<StackPanel Grid.Row="2" Grid.ColumnSpan="2" Orientation="Horizontal">
<Button x:Name="btnOnline" Content="Load Online" Click="btnOnline_Click" />
<Button x:Name="btnCustom" Content="Load Custom" Click="btnCustom_Click" />
</StackPanel>
</Grid>
</Window>
все, что вам нужно сделать, это создать новый prodjet WPF и записать эти строки вфайлы. Также вы должны изменить appID и userID. Я использовал мой, чтобы проверить, но это действительно просто для кода, чтобы найти пользовательский ID.
Я надеюсь, что это поможет вам, даже если это не решение, использующееfacebookSDK