如果我必须将应用程序所有者从一个开发者更改为另一个开发者,可以吗?如果是,我该怎么做?
4 回答
编辑以添加更多详细信息:
第 1 步:获取应用详细信息
curl -u <user> -p <password> "https://api.enterprise.apigee.com/v1/o/<org>/developers/<dev1>/apps/<appname>"
使用此输出设置 createapp_post_data - 删除应用程序 ID。将密钥/秘密和 API 产品存储在安全的地方。从应用程序 createapp_post_data 中删除密钥/秘密
第 2 步:创建应用程序
export createapp_post_data='{
"accessType":"read",
"appFamily":"default",
"attributes":[
{
"name":"Language",
"value":"java"
}
],
"callbackUrl":"www.apigee.com",
"createdAt":1391521426103,
"createdBy":"<someone>",
"lastModifiedAt":1391521426103,
"lastModifiedBy":"<someone>",
"name":"<appname>",
"scopes":[
]
}'
curl -XPOST -H "Content-Type: application/json" -u <user> -p <password> "https://api.enterprise.apigee.com/v1/o/<org>/developers/<dev2>/apps" -d "${createapp_post_data}"
第 3 步:将所需的 API 密钥推送到应用程序
export setapikey_post_data='<CredentialRequest><ConsumerKey>keyextractedfromstep1</ConsumerKey><ConsumerSecret>secretextractedfromstep1</ConsumerSecret><Attributes><Attribute><Name>CreatedBy</Name><Value>Shekhar</Value></Attribute></Attributes></CredentialRequest>'
curl -XPOST -H "Content-Type: application/xml" -u <user> -p <password> "https://api.enterprise.apigee.com/v1/o/<org>/developers/<dev2>/apps/<appname>/keys/create" -d "${setapikey_post_data}"
第 4 步:将密钥(刚刚创建的)与所需的 API 产品相关联
export add_apiproduct_post_data='{"apiProducts":["<apiproductfromstep1>"],"attributes":[{"name":"CreatedBy","value":"<someone>"}]}'
curl -XPOST -H "Content-Type: application/json" -u <user> -p <password> "https://api.enterprise.apigee.com/v1/o/<org>/developers/<dev2>/apps/<appname>/keys/<keysavedfromstep1>" -d "${add_apiproduct_post_data}"
建议,删除开发人员应用程序并使用所需开发人员的新开发人员应用程序创建一个新应用程序。
看看Developer APP API,它可以帮助您捕获应用程序的当前属性,将其删除并针对新的开发人员电子邮件进行重播。
代码不允许这样做。
如果我们尝试为应用关联其他开发者,则会出现以下错误:
该属性有一个 getter \"public java.lang.String com.apigee.organizations.keymanagement.App.getDeveloperId()\" 但没有 setter。对于解组,请定义 setter。(或者如果这是一个集合属性,请确保 getter 返回一个集合实例
AFAIK,无法从 UI 或公共 API 中获取。
作为一种解决方法,您可以先删除应用程序,然后为新开发人员使用相同的名称和元数据重新创建它。