所以我试图从Facebook页面和Graph Explorer中获取数据我做得很好。我正在使用全局应用令牌。
我可以在这里获取数据。所以现在我试着做以下事情:
GraphRequest request = GraphRequest.newGraphPathRequest(
accessToken,
"/<-pageid->/posts",
new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse response) {
// Insert your code here
}
});
request.executeAsync();
}
但我不知道如何创建Access Token作为java Object。
AccessToken.getCurrentAccessToken();
在我的情况下,返回null。我在开始时调用了以下代码:
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);
并完成了API快速入门指南中的所有内容。
我尝试初始化一个新的AccessToken对象,但是我错过了这么多参数并填充null并没有很好地解决问题。我只是将一个AppToken作为字符串从图形api和一个UserToken中获取为json。如何获得AccessToken?
答案 0 :(得分:0)
我得到了一些解决方法,每个人都在阅读这个问题: 我没有使用Facebook Android SDK,我只是通过我的Android应用程序发送了一个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中。