我想通过API在Facebook页面上发布供稿。我在facebook开发人员中关注了facebook文档创建应用程序。在我注册帐户facebook(例如:test_account)之前,我已经创建了业务活动的页面(例如:test_page),其中manage admin是" test_account"。 我已经通过Graph API Explorer
访问了API我已授予" publish_actions "并采用界面工具生成的访问令牌,如图所示
之后我尝试了调用POST请求来测试页面facebook(test_page)上的发布提要
https://graph.facebook.com/ {id_page_business} /饲料消息= test_message&安培; =的access_token {access_token_APP}
我已经收到了新的ID_feed,我在Facebook页面上看到了Feed,确定了,但是第二天的访问令牌已经过期了。如何才能拥有不会过期的访问令牌? 我尝试了另一种解决方案,从调用GET请求(作为文档)
获取访问令牌所以我获得了与APP关联的访问令牌(见下文)
=的access_token {APP_ID} | xxxxxxxxxxxxxxxxxxxxxjw
(第2步)我已拨打电话GET请求
https://graph.facebook.com/ {APP_ID} /帐户的access_token = APP_ID} |?xxxxxxxxxxxxxxxxxxxxxjw
我已经获得了以下回复:
{
data: [1]
0: {
id: "xxxxxxxx"
login_url: "https://developers.facebook.com/checkpoint/test-user-login /132173517148280/"
access_token: "123456........"
}
paging: {
cursors: {
before: "yMTczNTE3MTQ4Mjgw"
after: "yMTczNTE3MTQ4Mjgw"
}
}
}
(步骤3)所以我尝试了调用POST请求,在Facebook页面上发布了最后一个访问令牌(123456 ........)并且我收到了
{
id: "1256xxxxxx_133346xxxxxx"
}
但在页面业务中我看不到Feed ...为什么? 重要:我注意到我是否通过请求GET API来获取所有供稿页面(https://graph.facebook.com/ID_PAGE/feed?access_token=CAAPG1DFdxrs..........。)我可以看到已发布的供稿,但是在Facebook界面时间线中我没有'看到饲料。 我注意到API发布的feed返回:
message: "test"
created_time: "2015-11-29T16:39:44+0000"
id: "APP_ID_138999329797136"
当我从API Graph发布带有访问令牌的feed时,id的第二部分是不同的。
答案 0 :(得分:0)
您需要在页面访问令牌上使用扩展令牌才能在页面上发布。应用访问令牌将为您提供对页面的所有读取权限,但不允许您发布。
以下步骤必须提供帮助 -
使用 -
获取页面访问令牌https://graph.facebook.com/ {APP_ID} /帐户的access_token = {APP_ID} |?XXXXXXXXXXXX
使用页面访问令牌获取扩展令牌,下面是我使用VB.NET实现的方式
Dim parameters As Object = New ExpandoObject()
parameters.client_id = FB_APP_ID
parameters.client_secret = FB_APP_SECRET
parameters.grant_type =“fb_exchange_token”
parameters.fb_exchange_token = short_token'FBClient.AccessToken
昏暗的结果As Object = FBClient.Get(“oauth / access_token”,参数)
使用此扩展令牌在页面上发布。它对我有用,希望它对你有帮助。