2012-04-18 19 views
0

私はこのチュートリアルに従いました:https://developers.facebook.com/docs/opengraph/tutorial/複数回、常に同じ結果が得られます。Facebookのグラフオブジェクトをタイムラインに投稿

私はいつもこのエラーを受け取ります:(#15)このメソッドは、アプリケーションaccess_tokenで呼び出さなければなりません。私は、アプリケーションのaccess_tokenを追加しようとしました、私は情報のためだけにクエリを投稿することができないような何かを言っていた別のエラーがあります。 (私はプライバシーの設定をチェックし、アプリケーションはタイムラインに投稿することが許可されています)。私はオブジェクトを作って、Facebookのデバッグツールを使用して間違ったことは何も見つかりませんでした。

また、私はこの部分をお読みください。

Why am I getting "This method must be called with an app access_token" error when publishing an action?

  • Uncheck the "Require app access token to write" checkbox on the configuration page (hidden under the Advanced section) for your Open Graph action type in the Developer App.

私は、アプリの設定でこれを見つけることができませんでしたし、私はこれが古いという感じを持っています。私はポストは、チュートリアルとまったく同じであることを確認するために使用しているコード:

function postCook() 
    { 
     FB.api(
     '/me/[YOUR_APP_NAMESPACE]:cook?recipe=http://fbwerks.com:8000/zhen/cookie.html', 
     'post', 
     function(response) { 
      if (!response || response.error) { 
       alert('Error occured'); 
      } else { 
       alert('Cook was successful! Action ID: ' + response.id); 
      } 
     }); 
    } 

[私は:)もちろんの適切な変更を行いました]任意の助けいただければ幸いです。

+0

あなたは、通常のリンクや記事を投稿するために管理しますか? –

+0

私はそれを試していないが、私はそれをバートンの助言と一緒に働かせた。 – Yuriy

答えて

1

私はあなたがすでに認証されていると仮定します。あなたがいない場合、あなたはあなたが投稿しているユーザーのタイムラインを誰のfbのIDで私を代用する必要があります。そのユーザーはあなたのアプリで認証されなければなりません。アプリのアクセストークンを使用する必要があります。だから、カールURLは次のようになります。

curl -d "access_token=<app_access_token>" -d "badge=<object_url.(this has to be publicly accessible)>" https://graph.facebook.com/<authenticated_user_fb_id>/<app_namespace>:<action>

+0

ありがとう!これはバッジ部分を使わなかったことを除いて動作します。唯一の問題は、Facebookがウェブページ上のメタタグからオブジェクト情報を取得していないことです。オブジェクトは承認されていないので、私はそれをテストしていますか? – Yuriy

+0

私の悪い。バッジ部分は実際にあなたのオブジェクトです(それは私のオブジェクトでした:))。あなたがしなければならないことは、メタタグog:typeがあなたのオブジェクトと一致することを確認することです。ここでは 'namespace:'が必要です。私の例では、バッジをオブジェクト名で置き換えてください。これは、メタタグを含むオブジェクトページへのURLであるべきです。また、私がメタタグog:urlのために行ったことは、私もここでオブジェクトのURLを使用しました。 –