我有这段代码,登录Facebook后,我想通过将选定的视频上传到Facebook,Facebook Android SDK v4.13.1 ,
问题:
响应对我来说看起来不错,但视频未在测试用户的时间轴中显示。
代码:
public void shareVideoFB(String videoPath, final ProgressDialog pd) {
AccessToken accessToken = AccessToken.getCurrentAccessToken();
GraphRequest request = GraphRequest.newPostRequest(accessToken, "https://graph-video.facebook.com/me/videos", null, new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse response) {
try {
if (pd.isShowing())
pd.dismiss();
} catch (Exception e) {
e.printStackTrace();
}
onFBShareVideoCompleted(response);
}
});
Bundle params = request.getParameters();
try {
byte[] data = readBytes(videoPath);
params.putByteArray("video.mp4", data);
String albumName = "testFBUpload";
params.putString("title", albumName);
params.putString("description", " #SomeTag");
request.setParameters(params);
request.executeAsync();
} catch (Exception e) {
e.printStackTrace();
}
}
响应1:
{Response: responseCode:200, graphObject:{"id":"10150481253673034", "url":"https:\/\/graph-video.facebook.com\/me\/videos"}, error:null}
响应2:
{Response: responseCode:200, graphObject:null, error:{HTTPStatus:-1,errorCode:-1,errorType:null, errorMessage:"could not construct request body"}}
编辑1
我创建了一个具有多个权限的新测试用户,例如
并上传视频,但仍获得与ojit_strong响应1 相同的响应。
编辑2
我刚刚注意到,对于测试用户,响应与相同,响应1 且具有相同的相同ID 10150481253673034
最佳答案
您收到2条回复。
响应1来自测试用户。视频已成功共享。 ->因此,您需要使用Facebook developer console
提供的测试用户的凭据登录到Facebook,并 checkin 时间轴。如果您未在时间轴中找到它,请在配置文件中将其 checkout 。您肯定会在那里找到它的。
响应2来自另一个帐户。 ->失败,因为除非Facebook批准您的应用程序,否则它将不允许您使用测试帐户以外的其他帐户共享视频。因此,当您的应用程序将从Facebook提交过程中获得publish_actions
的批准时,您可以使用其他帐户进行测试。
因此,这种情况是可以的。
有关提交过程,请引用https://developers.facebook.com/docs/opengraph/submission-process。