APIがセカンドサイトで失敗し、プライマリ/デフォルトサイトでは機能しました

サイトをマルチサイト方式で2つの別々のサイトに分割しようとしていますが、またAPIで「Bang Your Head」状態になっています。

今やろうとしているのは、リスト1(デフォルトサイト)のユーザーをリスト2(セカンドサイト)で非アクティブ化することです。

すでにリスト2のユーザーをリスト1で非アクティブ化しました。PHPスクリプトで変更したのは、セカンドサイトで新しいAPIキーを生成し、それをCURL呼び出しに挿入しただけですが、「Invalid_Access」エラーが発生しています。

これは、このユーザーのみに有効でグローバルアクセス可能な、一部(APIキーの大部分が欠落)の呼び出し例です。

curl -X PUT -H "Content-Type: multipart/form-data;" -H "Api-Key: a23…" -H "Api-Username: nolan" "https://nu-sports.tssi.com/admin/users/4/deactivate.json/\"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 98 0 98 0 0 212 0 --:–:-- --:–:-- --:–:-- 4454
{“errors”:[“You are not permitted to view the requested resource.”],“error_type”:“invalid_access”}

何が足りないのでしょうか?

2番目のサイトで新しいAPIキーを作成しましたか?キーが無効になっているようです。

ええ、新しいキーを2つ試しましたが、うまくいきませんでした。

エラーが記録されているとしても、どこにあるのか見つけられません。

APIメニューによると、正しいキーにアクセスしているようです。
a233… huskerlist購読者を非アクティブ化 24x24 6時間1分

「いいね!」 1

システムユーザーのAPIキーを作成しようとしましたが、同じエラーが発生しました。

グローバルキーを試してから、スコープを縮小してみてください。

私の知る限り、APIキーのスコープを無効化を処理するように縮小するオプションはありません。それは利用可能なオプションの1つではありませんが、グローバルキーは anyway 機能しません。(APIはIMHOで動作する必要があります。)

deactivate.jsonコードがどこにあるのかわかりません。私のサーバーで検索しても見つからないので、明らかに別個のファイルではありません。これがセカンドサイトであることに関して何か特別なことが正しくないのではないかと疑問に思っています。なぜなら、デフォルトサイトではうまく機能したからです。

ただし、セカンドサイトで最初に見つけた問題が誰かが問題として記録したかどうかはわかりませんが、これは最初ではありません。それは、URL内のドメイン名がデフォルトであることを確認するnginx設定ファイル内のコードに関連しています。再構築するたびに、それらのコード行をコメントアウトするだけです。この問題は、次の投稿で報告しました。