Android和Facebook Like动作与开放图形对象

问题描述:

Facebook动作已发布为移动应用程序。Android和Facebook Like动作与开放图形对象

由于文件说:

To publish a built-in Like action on an Open Graph object, 
invoke the following HTTP POST request with a user’s access 
token and the url of the Open Graph object. 
This Open Graph object can be of any type. 

curl -X POST \ 
    -F 'access_token=USER_ACCESS_TOKEN' \ 
    -F 'object=OG_OBJECT_URL' \ 
    https://graph.facebook.com/[User FB ID]/og.likes 

通常情况下,以请求例如,对于用户信息,我用这样的代码:

Facebook facebook; 
facebook = new Facebook(AppConfig.FACEBOOK_APP_ID); 

if (facebook.isSessionValid()) 
{ 
    JSONObject obj = facebook.request("me"); 
    ... 
} 
else 
{ 
    facebook.authorize(...) 
    { 
     @Override public void onComplete(Bundle values) 
     { 
      String token = facebook.getAccessToken(); 
      long expires = facebook.getAccessExpires(); 
      ... 
     } 
    } 
} 

我的问题是死的简单,但我可以找不到答案,我如何在JAVA代码中创建“graph.facebook.com/[User FB ID] /og.likes”请求,一旦我检索到用户访问令牌并过期了?

+0

嗨,你还有这个问题吗?您是否使用过Android SDK(https://developers.facebook.com/docs/mobile/android/build/)并查看了示例应用程序(https://developers.facebook.com/docs/opengraph/samples/) ),演示如何设置打开图形自定义对象并对它们执行OG操作等。 – deesarus 2012-09-18 21:47:46

你会做类似如下:

1 /你已经初始化facebook的实例后,你可以声明如下:

AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook); 

2 /然后,当你想发布你一样可以使用下面的代码:

Bundle params = new Bundle(); 
params.putString("object",OG_OBJECT_URL); 

mAsyncRunner.request("me/og.likes", params, 
        "POST", new BaseRequestListener() { 
         @Override 
         public void onComplete(final String response, final Object state) { 
          // handle success 
         } 
        }); 

3 /你可以在这里摘掉实施BaseRequestListener:https://github.com/fbsamples/android-social-cafe/blob/master/src/com/facebook/samples/socialcafe/BaseRequestListener.java

最后看到一个开放图像的例子在行动看到这个示例:https://github.com/fbsamples/android-social-cafe

+0

AsyncFacebookRunner已弃用 – 2013-08-08 14:21:11