0

PHP SDKを使用してFacebookネイティブアプリを作成しようとしています。これにより、cronサービスから所有しているページへのリンクやイベントを時々自動的に投稿できます。


アプリアクセストークンを取得し、このアプリに必要なすべての権限(publish_stream、manage_pages、create_event)を付与しました。

Graph APIを使用すると、次のコマンドを呼び出すだけでユーザーのプロファイルページに投稿できます。

$facebook->api( "/" . USER_ID . "/feed", 'post', $tmp_fields );

しかし、私は同様のページに投稿することはできません:

$facebook->api( "/" . PAGE_ID . "/feed", 'post', $tmp_fields );

/USER_ID/accountsさらに、次の値が返されるため、ページのクレデンシャルを取得できません。

{
   "error": {
      "message": "(#15) This method is not supported for native apps",
      "type": "OAuthException",
      "code": 15
   }
}

/PAGE_ID/?fields=access_tokenページのidフィールドを返すだけなので、アクセスもできません。


したがって、スタンドアロンアプリのユーザーページに投稿する正しい方法は何ですか。たとえば、毎週cronから実行できます。ネイティブアプリのアプリアクセストークンからページアクセストークンを取得するにはどうすればよいですか?

4

1 に答える 1

0

Graph APIの一部のメソッドは、デスクトップまたはモバイル(「ネイティブ」)アプリケーションでは使用できません。私が見つけた関連するバグレポートは、これはデスクトップアプリケーションがアプリ内にアプリシークレットを保存する必要があるためであることを示唆しています(これにより、アプリが逆コンパイルされ、悪意のあるAPI呼び出しを行うために使用される可能性があります)。

このFacebookアプリケーションが個人的な使用を目的としている場合、またはアプリシークレットを埋め込まない場合は、アプリケーションの設定の[詳細]セクションでFacebookアプリケーションの種類をWebアプリケーションに変更することで、この制限を回避できます。

于 2013-03-01T11:42:26.007 に答える