Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.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
Java 从Android客户端代表页面创建Facebook事件_Java_Android_Facebook_Facebook Graph Api - Fatal编程技术网

Java 从Android客户端代表页面创建Facebook事件

Java 从Android客户端代表页面创建Facebook事件,java,android,facebook,facebook-graph-api,Java,Android,Facebook,Facebook Graph Api,我认为这是一件容易的事,但似乎不是。我有一个Android应用程序。用户使用Facebook登录到此应用程序。我还有一个Facebook页面(除了Facebook应用程序)。因此,我想从我的android应用程序中代表我的页面创建一个事件。以下是我的工作: Bundle params = new Bundle(); params.putString("name", "name"); params.putString("description", "descr"); par

我认为这是一件容易的事,但似乎不是。我有一个Android应用程序。用户使用Facebook登录到此应用程序。我还有一个Facebook页面(除了Facebook应用程序)。因此,我想从我的android应用程序中代表我的页面创建一个事件。以下是我的工作:

Bundle params = new Bundle();
    params.putString("name", "name");
    params.putString("description", "descr");
    params.putString("location", "loc");
    params.putString("start_time", "properly_formatted_time");
new Request(
        Session.getActiveSession(),                              
        "/" + PAGE_ID + "/events?access_token=" + PAGE_ACCESS_TOKEN,
        params,
        HttpMethod.POST,
        new Request.Callback() {
            public void onCompleted(Response response) {
        }
    ).executeAsync();
我已生成具有所有所需权限的长寿令牌,如下所述:

如果我尝试创建事件,并以我自己(FB页面和应用程序的管理员)的身份登录,它可以正常工作

当我使用非管理员的某人帐户时,我收到以下错误:

{HttpStatus:500,错误代码:1373019,错误类型:Exception, errorMessage:您必须是指定页面的管理员才能执行此操作 请求的操作。}

那么,如何解决这个问题呢。我在谷歌搜索了一下,发现了一些类似的问题,比如,但这些问题要么没有正确的答案,要么使用
“我/帐户”
,然后获取访问令牌,这不是我想做的事情


任何帮助都将不胜感激。

我认为除了通过
/me/accounts
(作为该页面的管理员登录)获取页面访问令牌,然后将该令牌存储在应用程序本身之外,没有其他方法


我不太理解的是(所有)用户可以为你的页面创建一个事件。这真的是您想要的吗?

是的,我真的希望每个用户都能为我的页面创建一个事件(因为页面本身应该创建事件)。但是,如果我以其他用户身份登录,那么我无法使用“我/帐户”访问我的页面令牌。是的,这是真的,因此你需要将页面访问令牌存储在你的应用程序中。我正在存储它。如前所述,我已经创建了持久令牌,代码中的PAGE_ACCESS_token常量就是这个令牌。我可以调试它,看到它永远不会过期,并且拥有所有必要的权限。但是,我还是遇到了上面提到的错误。虽然我对Android FB API没有经验,但我猜“Session.getActiveSession()”是这里的问题。这可以设置为其他内容吗?好的,在FB中,如果您不是页面管理员,则不可能创建事件。因此,我怀疑这也不可能通过Graph API实现。谢谢你的时间。