Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Facebook应用程序通过应用程序名(非私人用户名)发布到用户墙上_Asp.net_Facebook C# Sdk - Fatal编程技术网

Asp.net Facebook应用程序通过应用程序名(非私人用户名)发布到用户墙上

Asp.net Facebook应用程序通过应用程序名(非私人用户名)发布到用户墙上,asp.net,facebook-c#-sdk,Asp.net,Facebook C# Sdk,我是facebook环境的新手,我正在开发一个应用程序,在某些情况下,它应该通过在用户的墙上书写来通知用户 但是,墙上的这条消息应该显示为应用程序发布的消息,而不是我发布的消息 我尝试了fbApp.Post、fbApp.Api调用,但它们都显示我是发送者 我尝试了以下方法: string appAccessTokenPath = String.Format("https://graph.facebook.com/oauth/access_token?grant_type=client_crede

我是facebook环境的新手,我正在开发一个应用程序,在某些情况下,它应该通过在用户的墙上书写来通知用户

但是,墙上的这条消息应该显示为应用程序发布的消息,而不是我发布的消息

我尝试了fbApp.Post、fbApp.Api调用,但它们都显示我是发送者

我尝试了以下方法:

string appAccessTokenPath = String.Format("https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id={0}&client_secret={1}", FacebookSettings.Current.AppId, FacebookSettings.Current.AppSecret); 

string appAccessToken = fbApp.Get(appAccessTokenPath).ToString();

FacebookApp myAppFb = new FacebookApp(appAccessToken);

But I am taking the following exception at call fbApp.Get(....:

Newtonsoft.Json.JsonReaderException was unhandled by user code
  Message=Unexpected character encountered while parsing value: a. Line 1, position 1.
  Source=Newtonsoft.Json
  LineNumber=1
  LinePosition=1
  StackTrace:
       at Newtonsoft.Json.JsonTextReader.ParseValue(Char currentChar) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs:line 585
       at Newtonsoft.Json.JsonTextReader.ReadInternal() in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs:line 328
       at Newtonsoft.Json.JsonTextReader.Read() in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs:line 279
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 114
       at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonSerializer.cs:line 421
       at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonSerializer.cs:line 413
       at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonConvert.cs:line 707
       at Facebook.JsonSerializer.DeserializeObject(String json, Type type) in d:\Projects\facebooksdk\Source\Facebook\JsonSerializer.cs:line 92
       at Facebook.JsonSerializer.DeserializeObject(String json) in d:\Projects\facebooksdk\Source\Facebook\JsonSerializer.cs:line 73
       at Facebook.FacebookApp.MakeRequest(HttpMethod httpMethod, Uri requestUrl, Byte[] postData, String contentType, Type resultType, Boolean restApi) in d:\Projects\facebooksdk\Source\Facebook\FacebookApp.cs:line 1004
       at Facebook.FacebookApp.<>c__DisplayClassb.<OAuthRequest>b__a() in d:\Projects\facebooksdk\Source\Facebook\FacebookApp.cs:line 566
       at Facebook.FacebookApp.WithMirrorRetry[TReturn](Func`1 body) in d:\Projects\facebooksdk\Source\Facebook\FacebookApp.cs:line 752
       at Facebook.FacebookApp.OAuthRequest(Uri uri, IDictionary`2 parameters, HttpMethod httpMethod, Type resultType, Boolean restApi) in d:\Projects\facebooksdk\Source\Facebook\FacebookApp.cs:line 566
       at Facebook.FacebookApp.Graph(String path, IDictionary`2 parameters, HttpMethod httpMethod, Type resultType) in d:\Projects\facebooksdk\Source\Facebook\FacebookApp.cs:line 550
       at Facebook.FacebookAppBase.Api(String path, IDictionary`2 parameters, Type resultType, HttpMethod httpMethod) in d:\Projects\facebooksdk\Source\Facebook\FacebookAppBase.cs:line 439
       at Facebook.FacebookAppBase.Get(String path) in d:\Projects\facebooksdk\Source\Facebook\FacebookAppBase.cs:line 473
       at GizemliHayran.Outbox.Page_Load(Object sender, EventArgs e) in C:\Documents and Settings\TUNC TOROSDAGLI\my documents\visual studio 2010\Projects\GizemliHayran\GizemliHayran\Outbox.aspx.cs:line 44
       at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
       at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
       at System.Web.UI.Control.OnLoad(EventArgs e)
       at System.Web.UI.Control.LoadRecursive()
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  InnerException: 
string appAccessTokenPath=string.Format(“https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id={0}&client_secret={1},FacebookSettings.Current.AppId,FacebookSettings.Current.AppSecret);
字符串appAccessToken=fbApp.Get(appAccessTokenPath.ToString();
FacebookApp myAppFb=新的FacebookApp(appAccessToken);
但是我在调用fbApp.Get(…)时遇到了以下例外情况:
用户代码未处理Newtonsoft.Json.JsonReaderException
Message=解析值时遇到意外字符:a.第1行,位置1。
Source=Newtonsoft.Json
行号=1
LinePosition=1
堆栈跟踪:
位于d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs中的Newtonsoft.Json.JsonTextReader.ParseValue(Char currentChar):第585行
位于d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs中的Newtonsoft.Json.JsonTextReader.ReadInternal():第328行
位于d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs中的Newtonsoft.Json.JsonTextReader.Read():第279行
在d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.反序列化(JsonReader,类型objectType)中的Newtonsoft.Json.Serialization.JsonSerializerInternalReader.反序列化(JsonReader,类型objectType):第114行
位于d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonSerializer.cs中的Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader阅读器,类型objectType):第421行
在d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonSerializer.cs中的Newtonsoft.Json.JsonSerializer.反序列化(JsonReader阅读器,类型objectType):第413行
在d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonConvert.cs中的Newtonsoft.Json.JsonConvert.DeserializeObject(字符串值、类型、JsonSerializerSettings设置)处:第707行
在d:\Projects\facebooksdk\Source\Facebook\JsonSerializer.cs中的Facebook.JsonSerializer.DeserializeObject(字符串json,类型Type)处:第92行
在d:\Projects\facebooksdk\Source\Facebook\JsonSerializer.cs中的Facebook.JsonSerializer.反序列化对象(字符串json)处:第73行
在d:\Projects\facebooksdk\Source\Facebook\FacebookApp.cs中的Facebook.FacebookApp.MakeRequest(HttpMethod-HttpMethod,urirequesturl,Byte[]postData,String contentType,Type resultType,Boolean restApi)中
在d:\Projects\facebooksdk\Source\Facebook\FacebookApp.cs中的Facebook.FacebookApp.c\u显示classb.b\u a():第566行
在d:\Projects\facebooksdk\Source\Facebook\FacebookApp.cs中的Facebook.FacebookApp.WithMirrorRetry[TReturn](Func`1 body)处:第752行
在d:\Projects\facebooksdk\Source\Facebook\FacebookApp.cs中的Facebook.FacebookApp.OAuthRequest(Uri Uri,IDictionary`2参数,HttpMethod HttpMethod,Type resultType,Boolean restApi)中:第566行
在d:\Projects\facebooksdk\Source\Facebook\FacebookApp.cs中的Facebook.Facebook.app.Graph(字符串路径,IDictionary`2参数,HttpMethod HttpMethod,键入resultType)处:第550行
在d:\Projects\facebooksdk\Source\Facebook\FacebookAppBase.Api(字符串路径,IDictionary`2参数,键入resultType,HttpMethod-HttpMethod)中的d:\Projects\Facebook\FacebookAppBase.cs:第439行
在d:\Projects\facebooksdk\Source\Facebook\FacebookAppBase.cs中的Facebook.FacebookAppBase.Get(字符串路径):第473行
在C:\Documents and Settings\TUNC TOROSDAGLI\my Documents\visual studio 2010\Projects\GizemliHayran\GizemliHayran\Outbox.aspx.cs中的GizemliHayran.Outbox.Page\u加载(对象发送方,事件参数e):第44行
位于System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp、对象o、对象t、事件参数e)
在System.Web.Util.CallEventHandlerDelegateProxy.Callback(对象发送方,EventArgs e)
在System.Web.UI.Control.OnLoad(EventArgs e)中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)
内部异常:

您必须获取与应用程序相关联的访问令牌,而不是用户。您可以在此处看到如何操作:

获得应用程序的访问令牌后,只需使用相同的方法发布到墙上,但手动将访问令牌设置到应用程序


访问令牌始终代表Facebook API上操作的“参与者”。因此,如果您以个人身份发布,则使用他们的访问令牌;如果您以应用程序形式发布,则必须使用应用程序的令牌。

您必须获取与应用程序关联的访问令牌,而不是用户。您可以在此处看到如何做到这一点:

获得应用程序的访问令牌后,只需使用相同的方法发布到墙上,但手动将访问令牌设置到应用程序


访问令牌始终代表Facebook API上操作的“参与者”。因此,如果您以个人身份发布,您将使用他们的访问令牌,如果您以应用程序的形式发布,则必须使用应用程序的令牌。

我建议您使用codeplex的Facebook C#sdk。下面是一个完整的测试代码,供您开始使用


我建议您使用codeplex的facebook C#sdk。下面是一个完整的测试代码,可以从它开始