我知道这个问题经常被问到,但我试图在Facebook页面上发帖2天以后没有任何结果。
这就是我所拥有的:
我想以编程方式在页面上发布一个Feed,并且不知道所有这些是如何工作的。
我试图通过
请求它给了我一个访问令牌,但当我尝试
时https://graph.facebook.com/ /喂?ACCESS_TOKEN = TOKEN
这不起作用。
我也尝试过请求我的access_token,但它需要一个redirect_uri,并且给出的令牌是新的URL并需要一个动作(接受)权限。那不是我想要的。
我只想在我是管理员的页面上发布..
提前致谢。
答案 0 :(得分:2)
有4种类型的访问令牌:
您所做的就是检索App Access令牌,这与页面无关。
因此,为了以管理员身份发布Facebook Feed页面,您应该使用用户访问令牌或页面访问令牌。
用户访问令牌:
您必须通过授权对话框来检索您的用户访问令牌:
确保您同时授予 manage_pages 和 status_update 权限,如上面的 perms = 参数所示。原因可以在这里找到:why does posting to facebook page yield "user hasn't authorized the application"
然后,您在https://graph.facebook.com/YOUR_PAGE_ID/feed?access_token=YOUR_USER_ACCESS_TOKEN
上的页面上执行HTTP POST请求(例如message = hello)页面访问令牌:
您必须使用用户访问令牌通过API调用检索页面访问令牌:
https://graph.facebook.com/me/accounts?access_token=YOUR_USER_ACCESS_TOKEN(获取所有网页令牌)
https://graph.facebook.com/YOUR_PAGE_ID?fields=access_token&access_token=YOUR_USER_ACCESS_TOKEN(按页面ID获取特定页面令牌)
然后您通过3种方式对页面执行HTTP POST请求(例如message = hello):
<强>更新强>
我建议您手动授予用户访问令牌(例如,会出现登录/授权对话框,并且用户需要手动点击以接受APP权限请求,您不能以编程方式进行网页抓取以执行此操作,因为它违反了Facebook平台的TOS), 然后通过https://graph.facebook.com/oauth/access_token?client_id=my_app_id&client_secret=my_app_secret&grant_type=fb_exchange_token&fb_exchange_token=User_Access_Token
将其延长至长期(过期2个月)现在您拥有长期用户访问令牌,然后调用https://graph.facebook.com/me/accounts?access_token=LONG_LIVE_USER_ACCESS_TOKEN以获得永不过期的页面访问令牌。您可以在https://developers.facebook.com/tools/debug/accesstoken?q=YOUR_PAGE_ACCESS_TOKEN
调试页面访问令牌如您所见,过期日期从不:
<强>文档强>: