2012-07-09 54 views
5

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

回答

0

你會做類似如下:

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