最後,
我通過簡單地不使用Facebook的SDK做了一個真正的360度旋轉。有人告訴我僅僅使用http請求發佈是多麼容易!並與另一篇文章的幫助(http://stackoverflow.com/questions/6024912/asp-net-post-to-facebook-wall) 我想出瞭如何做到這一點。這是我的簡單代碼。基本上,我使用WPF來創建一個窗口,其中「用戶」可以連接到Facebook,還有一個頂部的文本框,用於顯示我想要的東西...令牌或Web響應......最後,我有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>
您所要做的就是創建一個新的WPF prodjet並在文件中寫入這些行。你也必須改變appID和userID。我用我的測試,但它非常簡單,編碼爲danamicly找到userID。
我希望它能幫助你,即使是不使用facebookSDK
解決你試過在爲「後發佈」給出的例子http://facebooksdk.codeplex.com/wikipage?title=Code% 20Examples&referTitle =文檔 – scibuff 2012-03-06 16:34:38
我沒有,我會嘗試它本週謝謝 – castors33 2012-03-13 19:22:54
,但它不解釋如何獲得令牌 – castors33 2012-03-13 19:35:15