1

ビジネスアカウントの広告名をDBに毎日保存するJavaアプリケーションを作成する必要があります。
-Iは、その広告にアクセスしてFacebook上でのビジネスに加え、
-Iがdevelopers.facebook.comにアプリを登録アカウント: authentication Facebook ad api

これら

がとられるステップです。

com.facebook.ads.sdk.APIException$FailedRequestException: {"error":{"message":"(#273) This Ads API call requires the user to be admin of the ad account. User is not admin on ad account XXXXXXXX.","type":"OAuthException","code":273,"fbtrace_id":"GD30f+ON/k4"}}

I:私は次のエラーを取得する

public static final String ACCESS_TOKEN = [the token from above]; 
public static final Long ACCOUNT_ID = [the business account it]; 
public static final String APP_SECRET = [the scret from 
public static void main(String...args) throws Exception { 
      APIContext context = new APIContext(ACCESS_TOKEN, APP_SECRET); 
      AdAccount account = new AdAccount(ACCOUNT_ID, context);  
System.out.println(account.getAds().execute().getRawResponseAsJsonObject()); 
     } 

: - https://developers.facebook.com/tools/debug/accesstoken/ からのアクセストークン-Got これはコードスニペットでアプリのパネル

からアプリの秘密を手に入れました次の質問があります:

1 - なぜ私はtから見ることができる同じ広告をリストするために管理者権限が必要ですか彼は広告マネージャのページですか?
2 - ユーザーがビジネスアカウントへのアクセスを喪失したが、Javaを引き続き使用したい場合はどうすればよいですか?他のユーザーがまだJavaコードを実行できますか?
3 - 上記の説明とコードから何か問題はありますか?
4 - 一時的なトークンではなく永続的なトークンを生成するにはどうすればよいですか?

答えて

1

私は答えが少し遅かったですが、私はFacebook Ads SDK for Pythonと同じ問題に遭遇しました。私は問題の原因を調査しました。それはFacebookのアプリの "tier" a.k.a. access levelsに接続されているようです。

デフォルトでは、作成されたすべてのアプリケーションに「開発」アクセスレベルが設定されており、管理者権限を持たない広告アカウントへのプログラムによるアクセスについては多くの制限があります。マーケティングAPIドキュメントのAccess and Authenticationページから次の引用は、(アカウントの制限、テーブル内の開発・アクセス・レベルのエントリ)、それはとても簡単説明:

Up to 5 accounts in the account list associated with your app. API calls from app admins or developers and on behalf of ad account admins or advertisers.

基本的なアクセスレベル:

25 ad accounts, defined by the account list associated with your app.

標準アクセスレベル:

Manage unlimited ad accounts with Marketing API app

上記の見積もりをまとめるには、アプリケーションが完全にプログラムでアクセスできる標準アクセスレベルを取得する必要があります。 y adsアカウントは何の制限もありません。

上記と同じリンクを使用すると、アプリの標準のアクセスを得ることができます(と、それはFacebookのスタッフによる性能保証及び見直しを必要とする方法を説明し

は正確にあなたの質問に対処するために:。

  1. ちょうど上記で説明しました
  2. アプリでFacebookのログインを実装して標準のアクセス権を取得すれば解決できます。ユーザーはアプリにログインして必要なアクセス許可を付与できます(少なくともads_management)。私はJavaプログラマではないですが、あなたがAPIExceptionを取得するとして、それはちょうどあなたがアクセスレベルの概念を取得していない右もののAPIエンドポイントは個人的にあなたの要求
  3. をしていない処理を拒否したので、あなたは、コードを持っていることを意味corresponding docs
  4. を参照してください。これをまだ扱っていますが、チェックアウトしてくださいthis SO question

希望は私が遅すぎると私の説明はあなたを助けるだろう。

関連する問題