标签:java android facebook facebook-graph-api facebook-sdk-3-0
我已经从我的Android应用程序共享了一个URL到FB:
然后我保存(硬编码)postId
我试着对那篇文章做“fb like”
使用此代码,但收到错误:
Button socialBtn3 = (Button) dialog
.findViewById(R.id.socialBtn3);
socialBtn3.setOnClickListener(new OnClickListener() {
String fbPostId = "685560152_10153809399380153";
@Override
public void onClick(View v) {
new LikeFbPostAsyncTask().execute(fbPostId);
}
});
还有这个:
public class LikeFbPostAsyncTask extends AsyncTask<String, Void, Void> {
public LikeFbPostAsyncTask() {
}
@Override
protected void onPreExecute() {
Log.i("LikeFbPostAsyncTask", "Starting web task...");
}
@Override
protected Void doInBackground(String... fbPostId) {
Request likeRequest = new Request(Session.getActiveSession(),
fbPostId + "/likes", null, HttpMethod.POST,
new Request.Callback() {
@Override
public void onCompleted(Response response) {
Log.i(TAG, response.toString());
// how to return to ui thread?
// return response;
}
});
Request.executeBatchAndWait(likeRequest);
return null;
}
@Override
protected void onPostExecute(Void res) {
}
}
{Response: responseCode: 404, graphObject: null, error: {HttpStatus:
404, errorCode: 803, errorType: OAuthException, errorMessage: (#803)
Some of the aliases you requested do not exist:
[Ljava.lang.String;@4284cd10}, isFromCache:false}
我怎么能解决这个问题?
解决方法:
您正在向AsyncTask(String …)发送一个String参数数组.
从数组中提取所需的字符串时,您应该:
Request likeRequest = new Request(Session.getActiveSession(),
fbPostId[0] + "/likes", null, HttpMethod.POST,
new Request.Callback() {
代替:
Request likeRequest = new Request(Session.getActiveSession(),
fbPostId + "/likes", null, HttpMethod.POST,
new Request.Callback() {
标签:java,android,facebook,facebook-graph-api,facebook-sdk-3-0 来源: https://codeday.me/bug/20190703/1365851.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。