2016-10-29 8 views
0

Facebookページからデータを取得しようとしています。グラフエクスプローラではうまくやっています。グローバルアプリトークンを使用しています。Android - Facebook Graph API - AccessTokenを取得できません。

enter image description here

私はここでデータをフェッチすることができています。だから私は以下をしようとしています:

しかし、私はちょうどJavaオブジェクトとしてアクセストークンを作成する方法がわかりません。

AccessToken.getCurrentAccessToken(); 

は私のケースではnullを返します。

FacebookSdk.sdkInitialize(getApplicationContext()); 
AppEventsLogger.activateApp(this); 

すべてのことをAPIクイックスタートガイドで行いました。

私はAccessTokenの新しいObjectを初期化しようとしましたが、多くのパラメータがなくなっていてnullを満たしてもうまくいきませんでした。私はちょうどAppTokenをグラフのAPIとUserTokenからjsonとしてフェッチされたStringとして持っています。 AccessTokenを取得する方法を教えてください。

答えて

0

私はFacebookのAndroid SDKを使用していないため、アンドロイドアプリからGET-Requestを送信してjsonデータを取得し、コントローラ。私は次のコードを使用しました:

public class FacebookController { 

public static JSONObject readJsonFromUrl() throws IOException, JSONException { 
    InputStream is = new URL("https://graph.facebook.com/<page_id>/posts?limit=100&access_token=<my-access-token>").openStream(); 
    try { 
     BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); 
     String jsonText = readAll(rd); 
     JSONObject json = new JSONObject(jsonText); 
     return json; 
    } finally { 
     is.close(); 
    } 
} 

private static String readAll(Reader rd) throws IOException { 
    StringBuilder sb = new StringBuilder(); 
    int cp; 
    while ((cp = rd.read()) != -1) { 
     sb.append((char) cp); 
    } 
    return sb.toString(); 
} 

これを使用する際には、AsyncTaskでラップするのを忘れないでください。

関連する問題