2

Android で Facebook SDK を使用して、Open Graph API を使用して Like ステータスを送信したいと考えています。ここで説明: https://developers.facebook.com/docs/opengraph/actions/builtin/likes/
SDK から、SSO を使用して access_token (publish_actions パーミッション付き) を取得しました。私はすでに Facebook Dev Account にアプリを登録しているので、app_id を持っています。
ここで、Open Graph API を使用して、自分のウォールで Like ステータスを送信したいと考えています。そこで、 https: //graph.facebook.com/MY_USER_ID/og.likes を access_token、app_id、オブジェクト ヘッダー (setRequestProperty() を使用) で呼び出し、HttpURLConnection と setRequestMethod を POST に呼び出します。

HttpURLConnection conn;
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("object", "someURL");
conn.setRequestProperty("app_id", "myID");
conn.setRequestProperty("access_token", "myToken");
conn.setRequestProperty("Content-Length", "" + postMessageInBytes.length);

私はいつも応答 400 Bad Request を受け取ります

  {"error":{"message":"An access token is required to request this resource.","type":"OAuthException","code":104}} 

Graph API Explorer (developers.facebook.com/tools/explorer/) を使用している場合、すべて正常に動作し、アクセス トークンに問題はありません。
アクセス トークンをデバッグすると、すべて問題ないように見えます (別の言語から翻訳されています)。

ID app: my app ID/name
ID user: user which I used to login
Issued: 1348929549 (yesterday)
Valid until: 1354113549 (in about 2 months)
Valid:  True
Origin: Mobile Web Faceweb
Permission: publish_actions user_status

問題は、アクセス トークンの問題はどこにあるのかということです。
手伝ってくれてありがとう!

4

1 に答える 1

2

I don't know where exactly was problem, but I started to use AsyncFacebookRunner which is part of Facebook SDK and everything now works fine. As I can see from source code of AsyncFacebookRunner same things are done little bit different.

EDIT: Simple request for Like action

Bundle msgParams = new Bundle();
msgParams.putString("object", mUrl);
Request request = new Request(Session.getActiveSession(), "me/og.likes", msgParams, HttpMethod.POST,
                likeCallback);
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();
于 2012-10-01T17:09:01.233 に答える