【问题标题】:how to post in user's Streams using google plus api in java如何在java中使用google plus api在用户的Streams中发布
【发布时间】:2013-03-31 10:46:16
【问题描述】:

我想从我的应用程序中在 google plus wall 中分享一些信息。我正在尝试 moment.insert,但出现 400 错误。谁能帮帮我

@Override
  public JSONObject getGooglePlusAddUseractivities(Object token) {
  Token accessToken = (Token) token;
  OAuthService service = createOAuthServiceForGooglePlus();
   OAuthRequest request = new       OAuthRequest(Method.POST,"https://www.googleapis.com/plus/v1/people/me/moments/vault");
   request.addQuerystringParameter("alt", "json");
   service.signRequest(accessToken, request);
   JSONObject object=new JSONObject();
   try {
     object.put("kind","plus#moment");
     object.put("type","http://schemas.google.com/AddActivity"); 
     JSONObject obj1=new JSONObject();
     obj1.put("kind", "plus#itemScope");
     obj1.put("url","https://plus.google.com/me");
     obj1.put("description","Sign up now to claim and redeem your credits while          shopping! ");
     obj1.put("image","http://invite.png");
     obj1.put("contentUrl", "www.abcd.com");
     obj1.put("thumbnailUrl", "http://logo1_favicon.png");
     object.putOpt("target", obj1);;
     }catch(Exception ex) {
          ex.printStackTrace();
       }
     request.addPayload(object.toString());
     request.addHeader("Content-Type", "application/json");
     System.out.println("request : "+request.getBodyContents());
     Response response = request.send();
     String responseBody = response.getBody();
     JSONObject googleJSON = null;
     try {
      googleJSON = new JSONObject(responseBody);
     }
     catch (JSONException e) {
      System.out.println("can not create JSON Object");
     }

得到 400 错误?任何人都可以告诉我.....哪里错了..!!`

【问题讨论】:

    标签: java oauth-2.0 google-plus scribe


    【解决方案1】:

    文档中并不清楚,但您不能同时提供target.url 和大多数其他target 元数据。这目前在问题跟踪系统中以 bug 485 的身份打开 - 请前往那里并为问题加注星标,以确保他们正确地优先考虑修复。

    如果您删除 target.url 值并添加 target.id 值,它应该可以工作。

    (顺便说一句,这不会在用户的信息流中发布,但会在他们的应用时刻库中发布应用活动。如果他们选择,他们必须手动分享活动。)

    【讨论】:

    • thnx 囚犯。我已经修复了这个也是私有的静态最终字符串 AUTHORIZE_URL = "accounts.google.com/o/oauth2/…";我没有在授权网址中提到 request_visible_actions。现在代码正在运行,但未在用户的流中发布。你能帮帮我吗?
    • 我现在不太确定你在说什么。听起来最好再开始一个问题。
    【解决方案2】:

    目前,无法以编程方式写入用户的 Stream。作为开发人员,您有两种选择:

    1. 编写一个 AppActivity(以前称为 Moment),它将信息写入 Google,但不写入 Google+ 流。这些活动可在 plus.google.com/apps 上查看,并且随着时间的推移,Google 将以其他方式使用这些活动。
    2. 创建一个用户必须启动的交互式帖子共享按钮。但是,您可以预先填写帖子的文本和最多 10 个预期收件人。用户可以根据需要进行更改,然后执行实际共享。您可以通过https://developers.google.com/+/web/share/interactive 或观看此 Google+ 开发者直播节目了解更多信息:http://www.youtube.com/watch?v=U4Iw28jWtAY

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多