创建一个共同的对象facebook sdk android fitness.runs

时间:2013-10-07 13:41:24

标签: android facebook facebook-graph-api

我尝试使用以下代码创建公共对象

Bundle params = new Bundle();
params.putString("type", "fitness.course");
params.putString("url", "http://samples.ogp.me/136756249803614");
param.putString("title", "Sample Course");       
params.putString("description", "");
Request request = new Request(
Session.getActiveSession(),
"me/objects/fitness.course",
params,
HttpMethod.POST, new Request.Callback(){
@Override
public void onCompleted(Response response) {
if(response.getError()==null)
System.out.println("Object succesfully created!!");
else
System.out.println("Object NOT  Created!!"+response.getError());                            
               }}
             );
Response response = request.executeAndWait();

但是我在Logcat中读到了这个:

  10-07 15:33:04.009: I/System.out(23284): Object NOT created!! {HttpStatus: 400, errorCode: 2500, errorType: OAuthException, errorMessage: Cannot specify type in both the path and query parameter.}

我不明白错误信息...如何创建课程对象并更新课程的数据(gps状态)?我需要一个后端服务器来存储我的课程数据?后端服务器只是一个选项吗?

1 个答案:

答案 0 :(得分:1)

您的错误消息显示全部,您从POST请求和网址中提供og:type

从新的FB OpenGraph SDK开始,您可以拥有ad-hoc无URL对象。您要做的是使用该API,同时使用API​​的自托管版本。

我建议将URL参数取出,从您设置的网址中取出og:type,并确保第二次阅读文档。以下是self hosted objects的文档,以下是app owned objects的文章。