Нужна помощь в публикации на странице в facebook. Я использовал эту статью Post on Facebook User's wall , и она работает. Тем не менее, место, где я пытаюсь опубликовать, - это не стена для людей, а вместо этого, когда пользователь входит в книгу лиц, и вы нажимаете на символ шестеренки в правом верхнем углу, он говорит: «Используйте Facebook как: ThingX», а затем они выбирают ThingX. Это выводит их на страницу ThingX, и именно там я хочу отправить сообщение. В коде, если я вхожу в систему как человек, он отправляется на их стену, а не в ThingX. Как отправить сообщение на стену ThingX.Публикация Facebook на странице, а не на стене пользователя
я передаю в publish_stream, manage_pages как код .. я не знаю, если мне нужно сделать что-то другое там ..
Вот код, который я использую сейчас .. VB. нетто
Dim app_id As String = "xxxxxxxxxxxx"
Dim app_secret As String = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Dim scope As String = "publish_stream,manage_pages"
If Request("code") Is Nothing Then
Response.Redirect(String.Format("https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&scope={2}", app_id, Request.Url.AbsoluteUri, scope))
Else
Dim tokens As New Dictionary(Of String, String)()
Dim url As String = String.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&scope={2}&code={3}&client_secret={4}", app_id, Request.Url.AbsoluteUri, scope, Request("code").ToString(), app_secret)
Dim request__1 As HttpWebRequest = TryCast(WebRequest.Create(url), HttpWebRequest)
Using response__2 As HttpWebResponse = TryCast(request__1.GetResponse(), HttpWebResponse)
Dim reader As New StreamReader(response__2.GetResponseStream())
Dim vals As String = reader.ReadToEnd()
For Each token As String In vals.Split("&"c)
'meh.aspx?token1=steve&token2=jake&...
tokens.Add(token.Substring(0, token.IndexOf("=")), token.Substring(token.IndexOf("=") + 1, token.Length - token.IndexOf("=") - 1))
Next
End Using
Dim access_token As String = tokens("access_token")
Dim client = New FacebookClient(access_token)
client.Post("/me/feed", New With { _
Key .message = "This is a test message -- " & Now.ToShortTimeString _
})
End If
интересно, может ли кто-нибудь протянуть руку. благодаря Shannon
~~~~~~~~~~~~~~~~~~~~~~~~~ Понял работает .. код ниже Ну .. я наконец получил эту работу, где я мог бы опубликовать на странице пользователей. Чтобы дать кредит, где кредит должен быть. http://www.markhagan.me/Samples/Grant-Access-And-Post-As-Facebook-User-ASPNet дал мне часть пути .., а затем автор этой ссылки был достаточно любезен, чтобы помочь мне добраться до конца. Я использовал Newtonsoft, чтобы помочь мне с некоторыми работами JSon. Вот код. Надеюсь, он может помочь кому-то еще ... и еще раз спасибо Марк.
offline_access позволяет создать токен, который не истечет.
Dim app_id As String = "your app id"
Dim app_secret As String = "your app secret"
Dim scope As String = "publish_stream,manage_pages,offline_access"
If Request("code") Is Nothing Then
Response.Redirect(String.Format("https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&scope={2}", app_id, Request.Url.AbsoluteUri, scope))
Else
Dim tokens As New Dictionary(Of String, String)()
Dim url As String = String.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&scope={2}&code={3}&client_secret={4}", app_id, Request.Url.AbsoluteUri, scope, Request("code").ToString(), app_secret)
Dim request__1 As HttpWebRequest = TryCast(WebRequest.Create(url), HttpWebRequest)
Using response__2 As HttpWebResponse = TryCast(request__1.GetResponse(), HttpWebResponse)
Dim reader As New StreamReader(response__2.GetResponseStream())
Dim vals As String = reader.ReadToEnd()
For Each token As String In vals.Split("&"c)
tokens.Add(token.Substring(0, token.IndexOf("=")), token.Substring(token.IndexOf("=") + 1, token.Length - token.IndexOf("=") - 1))
Next
End Using
Try
Dim access_token As String = tokens("access_token")
Dim client = New FacebookClient(access_token)
' <-- put your USER access token here
Dim p As JsonObject = CType(client.[Get]("/me/accounts"), JsonObject)
Dim acc As jsondata = Newtonsoft.Json.JsonConvert.DeserializeObject(Of jsondata)(p.ToString)
Dim accData As New List(Of AccountData)
accData = acc.data
Dim mList = From w In accData _
Where w.ID = CStr("your id value that came back through JSON) _
Select w
Dim selected As New AccountData
For Each selected In mList.ToList
Next
Dim postparameters = New Dictionary(Of String, Object)()
postparameters("message") = Me.txtText.Text
Dim client1 = New FacebookClient(selected.access_token)
Dim result = DirectCast(client1.Post("/me/feed", postparameters), IDictionary(Of String, Object))
Dim postid = DirectCast(result("id"), String)
Return String.Empty
Catch ex As Exception
Return ex.Message.ToString
End Try
End If
вам также понадобится эти два класса
Private Class AccountData
Public Property Name As String
Public Property Category As String
Public Property ID As String
Public Property access_token As String
End Class
Private Class jsondata
Public Property data As New List(Of AccountData)
End Class
извините за мое невежество .. термины я использую со ссылкой на Facebook мой быть далеко. Мне нужно создать приложение для страницы ThingX. Я попробовал на ThingX странице, чтобы перейти к разработчику, но он хочет, чтобы я пошел туда, как зарегистрированный пользователь .. имеет смысл, я думаю .. но я не уверен, что мне нужно иметь приложение, созданное на странице ThingX. Если нет, вы говорите, что я могу использовать приложение, которое я уже создал и опубликовал на странице ThingX .. но как узнать, что такое PROFILE_ID ThingX. еще раз, спасибо за помощь – jvcoach23
Просто зайдите на страницу facebook и поместите «график». перед ним, например. «http://graph.facebook.com/CrystalicBandOfficial» вместо «https://www.facebook.com/CrystalicBandOfficial». Вы вернете свой идентификатор в возвращаемом объекте json. – Michael