我想使用Purchase.Subscription API获得订阅数据。为此,我正在尝试从https://accounts.google.com/o/oauth2/token获取令牌。
按照documentation的要求,它应返回以下响应:
package sample;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Controller {
private static final String username = "root";
private static final String password = "";
private static final String connection = "jdbc:mysql://localhost/hello";
public static void main(String[] args) {
Connection conn = null;
try {
conn = DriverManager.getConnection(connection, username, password);
System.out.println("Connected");
}
catch (SQLException se) {
System.err.println(se);
}
}
}
但是,当我尝试执行相同的步骤时,没有得到 refresh_token 字段的响应。 我正在发送文档中提到的以下字段:
{
"access_token" : "ya29.ZStBkRnGyZ2mUYOLgls7QVBxOg82XhBCFo8UIT5gM",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/zaaHNytlC3SEBX7F2cfrHcqJEa3KoAHYeXES6nmho"
}
请帮助我我所缺少的东西。
答案 0 :(得分:1)
好。我发现了实际问题。 API方面确实缺少文档。只有在允许应用程序管理您的开发者帐户后,我们才具有以下数据的第一次调用api https://accounts.google.com/o/oauth2/token的值将为refresh_token:
grant_type=authorization_code
code=<the code from the previous step>
client_id=<the client ID token created in the APIs Console>
client_secret=<the client secret corresponding to the client ID>
redirect_uri=<the URI registered with the client ID>
如果您没有得到refresh_token,可以按照此answer中所述的步骤操作,然后尝试再次获取refresh_token