0

我尝试使用以下代码创建一个通用对象:

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 状态)?我需要一个后端服务器来存储我的课程数据?后端服务器只是一种选择?

4

1 回答 1

1

您的错误消息说明了一切,您是og:type从 POST 请求和 URL 提供的。

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

我建议要么去掉 URL 参数,og:type去掉你设置的 URL,然后再读一遍文档。这是自托管对象的文档,这是应用程序拥有对象的文章。

于 2013-10-07T14:34:34.897 回答