Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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
Facebook graph api 通过OpenGraph发布到Facebook页面_Facebook Graph Api_Facebook Page - Fatal编程技术网

Facebook graph api 通过OpenGraph发布到Facebook页面

Facebook graph api 通过OpenGraph发布到Facebook页面,facebook-graph-api,facebook-page,Facebook Graph Api,Facebook Page,通过所有的文章和指南,我似乎不知道如何通过Facebook认证,以便我可以从我们的网站发布到我们的Facebook页面。你能告诉我怎么做吗?最重要的是,我不知道如何获得acces_代币。问题是: 我需要先创建某种facebook应用程序吗? 应用程序是否会像页面管理员那样贴到页面的墙上,或者作为应用程序,换句话说,作为页面管理员如何做? 是的,你必须创建一个Facebook应用程序才能让你网站的用户在Facebook上发布他们的东西 使用OAuth 2.0的身份验证过程非常简单: 呼叫https

通过所有的文章和指南,我似乎不知道如何通过Facebook认证,以便我可以从我们的网站发布到我们的Facebook页面。你能告诉我怎么做吗?最重要的是,我不知道如何获得acces_代币。问题是:

我需要先创建某种facebook应用程序吗? 应用程序是否会像页面管理员那样贴到页面的墙上,或者作为应用程序,换句话说,作为页面管理员如何做?
是的,你必须创建一个Facebook应用程序才能让你网站的用户在Facebook上发布他们的东西

使用OAuth 2.0的身份验证过程非常简单:


呼叫https://graph.facebook.com/oauth/authorizeclient_id=&redirect_uri=h&client_secret=您需要从中找到您的用户id和访问令牌

下面的Java代码使用,在facebook墙上发布指定用户id的消息

public class Main2 {

    public static void main(String[] args) {



        HttpClient httpclient = new DefaultHttpClient();

        try {


            String accessToken = "AAACEdEose0cBANzDaBq";

            String message = "Hey Jude, don't make it bad";

            String userId = "200501511023";

            String requestURL = "https://graph.facebook.com/"+userId+"/feed";

            HttpPost httpPost = new HttpPost( requestURL );

            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
            nameValuePairs.add(new BasicNameValuePair("access_token", accessToken));
            nameValuePairs.add(new BasicNameValuePair("message", message));


            httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));


            // Create a response handler
            ResponseHandler<String> rh = new ResponseHandler<String>() {

                public String handleResponse(HttpResponse hr) throws ClientProtocolException, IOException {
                    return "\n" + hr.getStatusLine() + "\n\n"
                        + dumpStream(hr.getEntity().getContent());
                }
            };

            System.out.println("****************************************");
            System.out.println("executing request " + httpPost.getURI());
            System.out.println("****************************************");

            String response = httpclient.execute(httpPost, rh);


            System.out.println("----------------------------------------");
            System.out.println(response);
            System.out.println("----------------------------------------");


        } catch (IOException e) {
            e.printStackTrace();
        }
    }

     public static String dumpStream(InputStream is) {
    try {

        byte[] theBytes = new byte[is.available()];
        is.read(theBytes, 0, is.available());
        is.close();
        return new String(theBytes);
    } catch (IOException ex) {
    }
    return null;
} // ()
}  // class

你需要更多关于出版的信息吗?我可能解释错了。我想要的是创建一种简单的方法,将示例新闻中的帖子从网站发布到facebook页面并作为facebook页面。你说的facebook页面是什么意思?另一件我不知道的事情是如何将创建的应用程序添加到我的facebook页面。我无法将其提交到应用程序目录,因为它没有所需的用户数量,只有网页将使用此应用程序,或者我完全弄错了?若要在页面的墙上发布,您必须在以下URL上发布:将所有评论发送到此URL,它们将显示在页面的墙上。为了简化操作,您可以为您最喜欢的编程语言使用包装器。例如,我正在用Java开发,我使用RestFB,它工作得很好。Facebook本身为PHP、Python等提供了包装器库。旧的RESTAPI似乎已被弃用。RestFB是一个开源API的名称,它实际上包装了OpenGraph,即使遗留的restapi仍然存在。谢谢,我还以为你在说旧的RESTAPI呢。