我们在旧市场上使用oauth 1.0的应用程序。我们正在为新市场迁移到oauth 2.0。我们使用UpgradeableApp API对现有域进行迁移。我按照此处指定的步骤进行操作:https://developers.google.com/apps-marketplace/v1migratev2
如上述链接中的先决条件所述:新旧应用的范围必须兼容。但我们的新应用程序还有一些额外的范围。有没有办法在迁移时授予对这些附加范围的访问权限。
答案 0 :(得分:1)
只有域管理员或用户才能批准其他范围。
域名管理员在升级后会收到电子邮件通知。
在您的oauth2.0应用中,您可以检测是否所有范围都已获得批准。如果没有,您可以向用户显示相应的消息以联系域管理员以获得批准范围。
答案 1 :(得分:0)
为此,我们应该在旧的和新的列表中具有相同的范围。我也面临着将旧用户迁移到新用户的同样问题。请检查以下代码我如何从旧用户迁移到新用户,但每次我获得401 UnAuthorized时,我可以知道我为此缺少的。
String url = String.Format("https://www.googleapis.com/appsmarket/v2/upgradableApp/{0}/{1}/{2}", oldAppId, chromeListing, domain);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "PUT";
request.ContentType = "application/json";
request.Accept = "application/json";
request.ProtocolVersion = HttpVersion.Version11;
request.Credentials = CredentialCache.DefaultCredentials;
request.Headers.Add("Authorization", "OAuth");
Hashtable postObj = new Hashtable();
postObj["Consumer Key"] = oldClientId;
postObj["Consumer Key Secret"] = oldSecret;
String s1 = new JavaScriptSerializer().Serialize(postObj);
var bs = Encoding.UTF8.GetBytes(s1);
using (Stream reqStream = request.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
}
using (WebResponse response = request.GetResponse())
{
using (var sr = new StreamReader(response.GetResponseStream()))
{
result = sr.ReadToEnd();
sr.Close();
}
}