我在 google plus 上获取用户帖子时遇到问题。我只有这个用户的访问令牌和刷新令牌(不是 ID!),我怎么能从这个用户的 google plus 获得帖子?,我做了很多搜索,但没有一个符合我的情况。当用户在前端提供他的 google plus Id 时,会生成访问令牌和刷新令牌并存储在数据库中,后端的 i 将使用这些令牌来检索该用户的帖子。p/s:我使用这个库https://code.google.com/p/google-plus-java-api/因为它看起来很简单,我不想为了获取帖子而使用如此复杂的库,非常感谢你
这是我的代码
import com.googlecode.googleplus.GooglePlusFactory;
import com.googlecode.googleplus.Plus;
import com.googlecode.googleplus.model.activity.ActivityCollection;
import com.googlecode.googleplus.model.activity.ActivityFeed;
public void getInfo(String accessToken, String refreshToken) {
GooglePlusFactory factory = new GooglePlusFactory(clientId, clientSecret);
Plus plus = factory.getApi(accessToken, refreshToken,null);
if (plus != null) {
ActivityFeed af = plus.getActivityOperations().list("me",ActivityCollection.PUBLIC);
String firstpost = af.getItems().get(0).getObject().getContent();
}
,调用此方法时出现403错误,错误输出为:
403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "usageLimits",
"message" : "Daily Limit Exceeded. Please sign up",
"reason" : "dailyLimitExceededUnreg",
"extendedHelp" : "https://code.google.com/apis/console"
} ],
"message" : "Daily Limit Exceeded. Please sign up"
}
实际上,我认为原因不是因为超出了每日限制,因为我在第一次运行时收到了该消息,我也在 google api 控制台上打开了 google+ api、google+ 域 api。我想错误来自使用“列表”方法中的“我”来检索帖子。我仍然不知道如何解决这个问题
更新 #1 #:
我已经更改了很多代码,所以这正是我所坚持的,我已经获得了一个新的 accessToken,并且(当它仍未过期时),我在下面运行此代码:
GoogleCredential credential = new GoogleCredential.Builder()
.setJsonFactory(JSON_FACTORY)
.setTransport(TRANSPORT)
.setClientSecrets(CLIENT_ID, CLIENT_SECRET).build().setAccessToken(newAccessToken);
// Create a new authorized API client.
Plus service = new Plus.Builder(TRANSPORT, JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME)
.build();
// Get a list of people that this user has shared with this app.
ActivityFeed feed = service.activities().list("me", "public").execute()
然后我得到了这个错误:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "Insufficient Permission",
"reason" : "insufficientPermissions"
} ],
"message" : "Insufficient Permission"
}