我正在编写一个类,用于创建对BigQuery和Google云存储的授权。
在过去,我曾使用CredentialStore
,但已被弃用。我试图使用DataStoreFactory
,但我发现它只允许我使用StoredCredential
,而我需要Credential
。
我知道可以从凭据
转换为StoredCredential
,但我不知道如何将它们转换成相反的方向(StoredCredential
转换为Credential
)。例如,我像这样创建连接:
Storage.Builder(HttpTransport transport,
JsonFactory jsonFactory,
HttpRequestInitializer httpRequestInitializer);
有人能给我指明如何实现这一目标的方向吗?
谢谢!
在大多数情况下,无论在哪里使用Credential
,都可以使用StoredCredential
。只有一点可以使用credential
,即在OAuth回调期间检索访问令牌。从那里,凭据
可以转换为StoreCredential
并存储到DataStore
中。之后,存储和检索都使用StoredCredential
。
但是有些地方StoredCredential
不能使用。我刚刚遇到一个试图创建Google Drive API服务包装器的用户。
有一种方法可以通过GoogleCredential
对象来解决这个问题,它可以根据以下答案从StoredCredential
创建:
存储的来自Google API的凭据,将使用Java重用
import com.google.api.client.auth.oauth2.StoredCredential;
public static GoogleCredential createGoogleCredential(StoredCredential storedCredential) {
GoogleCredential googleCredential = new GoogleCredential.Builder()
.setTransport(new NetHttpTransport())
.setJsonFactory(new JacksonFactory())
.setClientSecrets("client_id", "client_secret")
.setAccessToken(storedCredential.getAccessToken())
.build();
return googleCredential;
}
问题内容: 我正在编写用于创建BigQuery和Google Cloud Storage授权的类。 在过去,我已经使用已被 弃用 。我正在尝试使用,但是我发现它只允许在需要使用时使用。 我知道一个可以转换到,但我不知道如何将它们转换成相反的方向(到)。例如,我正在这样创建我的连接: 谁能指出我的实现方向? 谢谢! 问题答案: 在大多数情况下,无论您在哪里使用,都可以使用。您只需要使用一点,那就是在
我的授权码请求: 我正在用这个得到授权码。但是每当我使用此代码发送access_token请求时,我都会得到一个错误。(代码400)
我有一个具有统一访问控制的Google云存储桶,我在权限中添加了“诱惑者”。它说该对象是公共的,但当我尝试打开链接时,仍会收到此消息:“匿名调用方没有storage.objects.get access to the Google Cloud storage object”错误代码为“401”。我希望任何用户都能够访问该链接。我该怎么做?提前谢谢! 向你问好本
我们有一个托管在GCP中的应用程序,它使用GSuite API将用户从GSuite同步到我们的应用程序,并使用服务帐户将用户从GSuite同步到我们的应用程序,反之亦然。它过去工作得很好,直到最近我们的一些客户开始面临问题。 我们开始得到 401未经授权。客户端未经授权使用此方法检索访问令牌,或者客户端未被授权使用任何请求的作用域 我们的应用程序和授予的权限列表都没有更改。以下是授予的api访问权
授权失败。请参阅https://developers.google.com/maps/documentation/android/start了解如何正确设置地图。 确保以下内容与API控制台中的内容相对应:包名称:,API密钥:,证书指纹:联系Google服务器失败。建立连接后将进行另一次尝试。 加载地图失败。联系Google服务器时出错。这可能是身份验证问题(但可能是由于网络错误)。 我知道关于
我正在开发一个应用程序内购买,所以我想知道订阅是否过期。我已经获得了RefreshToken和AccessToken,但是当我试图根据此获取订阅信息时,我总是得到相同的错误:{“错误”:{“错误”:[ {“域”:“全局”, “原因”:“autherror”, “消息”:“无效凭据”, “位置类型”:“头”, “位置”:“授权”}], “代码”:401, “消息”:“无效凭据”}}