使用 PHP 客户端发布 Google+ 时刻时出现 401 未经授权的访问

2023-12-20

我试图使用 API 在 google+ 中发布一段时间,创建一个简单的示例,但收到 401 错误。我正在关注 Silvano Luciani 的脚步https://plus.google.com/+SilvanoLuciani/posts/2kMX9Dzaf8V https://plus.google.com/+SilvanoLuciani/posts/2kMX9Dzaf8V,为了发布一点,我已经:

  • 从这里下载了最后一个库 0.6.1:https://code.google.com/p/google-api-php-client/downloads/list https://code.google.com/p/google-api-php-client/downloads/list

  • 从 Silvano Luciani 下载的示例:https://gist.github.com/silvolu/5054214 https://gist.github.com/silvolu/5054214

  • 使用我的 G+ 应用程序中的所有数据配置示例文件

这直接不行,在例子中,第16行,是要求一个类Google_Plus服务,它不存在,所以我为班级更改了它Google_PlusMoments服务.

更改后,它发布到类似以下的 URL'加/v1moments/人/'并且显示404错误。所以,我修改了网址src/contrib/Google_PlusMomentsService.php,第 73 行“加/v1时刻/人”=> 到“加/v1/人”.

之后,表明需要设置请求可见操作工作,我意识到 Google 客户端没有该方法,所以我从 Google 存储库中获取了最后一个 Google_client:https://code.google.com/p/google-api-php-client/source/detail?r=534 https://code.google.com/p/google-api-php-client/source/detail?r=534

好的,现在它可以工作了,但显示 401 错误,我不知道如何进行操作。

错误是:

调用 POST 时出错https://www.googleapis.com/plus/v1/people/me/moments/vault?key=XXXXXXXXXXXXXX https://www.googleapis.com/plus/v1/people/me/moments/vault?key=XXXXXXXXXXXXXX: (401) 第 66 行 C:\wamp\www\gPlus\src\io\Google_REST.php 中未经授权

其中 XXXXXXXXXX key 是我在文件中设置的开发人员密钥。看起来 POST 不包含 URL 中的操作,但我不确定这是否是问题所在或如何解决。有谁知道如何解决它?谢谢!

Update

正如 Luciano 所指出的,我正在使用过时的 google-php-client,因此,正如他所指出的,我已经从 SVN 存储库下载了最后的代码。但是,在设置配置文件后,在 Moments 中包含 Silvano 的 Moments 示例文件,并在 Google 控制台和配置文件中配置 API 重定向 URL,/examples 文件夹中的示例不起作用。执行 Silvano PHP 示例,它抛出“不可用”错误:

网页上的页面没有可用的页面 可能是网页页面暂时处于非活动状态,但仍无法确定其他方向。 错误 15 (net::ERR_SOCKET_NOT_CONNECTED):错误 desconocido。

但库中的其他示例也出现同样的错误。时间问题还是库问题?

Update 2

是的,这是一个浏览器问题。它仍然出现在 Chrome 中,但是使用 Firefox 就可以正常工作了,不再出现 401 错误,这很好,XD

现在,我有另一个问题,它返回一个数组,但它没有在流中发布任何内容。西尔瓦诺,这正常吗?不管怎样,非常感谢你的帮助,我的主要问题得到了解答,又少了一步来完成流发布,XD!

该数组是:

Array ( 
    [kind] => plus#moment 
    [type] => http://schemas.google.com/AddActivity 
    [target] => Array ( 
        [kind] => plus#itemScope 
        [url] => https://developers.google.com/+/plugins/snippet/examples/thing 
    ) 
    [result] => Array ( 
        [kind] => plus#itemScope 
    ) 
    [id] => xxxxxxxxx 
) 

Update 3

好吧,看来为了防止垃圾邮件,他们不允许直接在直播中发布内容。请参阅此问题的答案以获取更多信息:

Google+ 流中的帖子未显示在使用 google-api-PHP-client 的用户流中 https://stackoverflow.com/questions/15830255/post-in-google-stream-is-not-showing-up-in-users-stream-using-google-api-php-c


您需要使用可以在其中找到的库的版本trunk https://code.google.com/p/google-api-php-client/source/checkout使要点中显示的代码正常工作。

您不应该使用 Google_PlusMomentsService,因为它已被弃用(并且已从主干中删除)。奇怪的是 Google_PlusService 不存在,它是here https://code.google.com/p/google-api-php-client/source/browse/trunk/src/contrib/Google_PlusService.php.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PHP 客户端发布 Google+ 时刻时出现 401 未经授权的访问 的相关文章

随机推荐

  • 在 x86 汇编中划分 64 位时出现问题

    在 x86 程序集中进行划分时 我不断收到 程序收到信号 SIGFPE 算术异常 这很令人困惑 因为如果我除以 10 答案应该小于 64 位答案 mov 0x82b40000 eax mov 0x21c3677c edx mov 10000
  • 构造函数的单元测试

    我正在实验室进行单元测试 下面是我正在测试的应用程序中的一段代码 大多数单元测试都已完成 但关于下面的构造函数 我只是不知道如何测试它 例如 构造函数到底对数组元素做了什么 测试构造函数的好方法是什么 是否有一个善良的灵魂可以给我一个正确的
  • 嵌入字体在 Flex 移动 ActionBar 中不起作用

    我嵌入了一些字体 并在我的移动应用程序中使用它们 它们都正常工作 除了我尝试用于 ActionBar 的字体 他们在其他地方工作 并替代 Comic Sans MS for titleCGF 将其更改为 Comic Sans 那么为什么它不
  • C++中不同参数的重载虚函数

    我想在 C 中重载具有不同参数的虚函数 但它不起作用 virtual void Draw int nDeltaX int nDeltaY virtual void Draw int nDeltaX int nDeltaY bool m bF
  • 找不到必要的构建工具。使用 devtools 遇到错误

    我正在尝试安装 BTYDPlus 包 https github com mplatzer BTYDplus https github com mplatzer BTYDplus 当我输入这个命令时 devtools install gith
  • Excel-VBA:在 .aspx 网页上抓取数据之前的按钮和下拉列表

    我想使用 VBA 从网页获取表格 但无法直接访问它 因为我需要从一个选项卡切换到另一个选项卡 该问题依赖于网页的 aspx 端 URL 不会相应地演变 URL http www morningstar fr fr fundquickrank
  • 使用 aws cli 将日志流式传输到 elastic

    我想启用从 Cloudwatch 到 Elasticsearch 到 Amazon Elasticsearch Service 的流 我熟悉如何手动执行此操作 我正在寻找一种通过运行 aws cli 命令来实现此目的的方法 假设 Elast
  • Vagrant/Clojure/Emacs

    我想构建一个标准环境 用于使用 Emacs 探索 Clojure 有人有适合这个的食谱吗 我正在考虑一个运行 Ubuntu 风格的 Vagrant 系统 带有 NREPL 和一些有用的 EMACS 支持插件 vagrant box add
  • 批量插入现有数据:防止 JPA 在每次插入之前进行选择

    我正在开发一个 Spring Boot 应用程序 该应用程序使用 JPA Hibernate 作为持久层 我目前正在实现迁移功能 我们基本上将系统的所有现有实体转储到 XML 文件中 此导出还包括实体的 ID 我遇到的问题位于另一侧 重新导
  • 标准 C++14 委员会草案是否公开?

    截至上周六 http isocpp org blog 2013 04 trip report iso c spring 2013 meeting 今天下午在英国布里斯托尔 ISO C 标准委员会通过了 通用 lambda 动态数组 C99
  • cuda 推力中的 fp16 支持

    我无法在推力 cuda 模板库中找到有关 fp16 支持的任何信息 甚至路线图页面也没有任何相关信息 https github com thrust thrust wiki Roadmap https github com thrust t
  • R如何安装指定版本的bioconductor包?

    我想使用的当前版本的软件包在生物导体上失败 然而 旧版本曾经可以工作 我想知道如何安装特定版本的生物导体包 提前致谢 在我的例子中 该软件包称为biomaRt 失败的版本是2 34 2 而2 34 0是成功的 重要更新 今年是2022年 我
  • Jersey:@PathParam,带逗号到 List

    我想用这种模式调用我的网络服务 resource 1 2 3 在我的类中 我想将参数绑定到对象列表 Path resource public class AppWS GET Path params public Response get P
  • 如何消除使用 randomForest 运行预测的“外部函数调用中的 NA/NaN/Inf (arg 7)”

    我对此进行了广泛的研究 但没有找到解决方案 我已经清理了我的数据集 如下所示 library raster impute mean lt function x replace x is na x is nan x is infinite x
  • Stack Overflow 与支持 JavaScript 的横幅配合使用效果最佳

    我试图模仿该网站的 Javascript 要求横幅 并且如果允许 启用 javascript 则隐藏以下 div 但我在页面加载时看到它的闪现 一瞥 div Craftystuff com works best with JavaScrip
  • 对正则表达式中的反斜杠感到困惑[重复]

    这个问题在这里已经有答案了 我对正则表达式中的反斜杠感到困惑 在正则表达式中 有特殊含义 例如 d表示十进制数字 如果在反斜杠前面添加反斜杠 则这种特殊含义就会丢失 在里面正则表达式指南 https docs python org 3 ho
  • 如何删除回收站中路径过长的文件夹或文件?

    我有一个程序可以删除并复制一些具有长路径的文件夹或文件 当长度 gt MAX PATH 时 在这个程序中我使用前缀 这使我可以删除具有长路径的文件夹或文件 但仅限于简单的功能Delete 我需要删除回收站中的文件 为此我需要使用SHFile
  • 如何在IntelliJ IDEA中选择配置文件?

    当我打开 Spring 配置文件并下拉选择配置文件时 为什么 IntelliJ IDEA 会打开一条消息 如果我选择关闭链接 为什么它不再出现 当您在配置文件弹出窗口中单击 关闭 时 它会更改设置并禁用所有 spring 上下文的面板 因此
  • sympy.plotting.plot 奇怪的 xlabel 位置

    当在 sympy 的绘图语句中将 xlabel 设置为字符串值时 标签将放置在图形的最右侧 如果程序中未设置标签 并且我单击复选标记并在那里设置标签 则它位于 X 轴的中间 这是一个例子 from sympy import sin from
  • 使用 PHP 客户端发布 Google+ 时刻时出现 401 未经授权的访问

    我试图使用 API 在 google 中发布一段时间 创建一个简单的示例 但收到 401 错误 我正在关注 Silvano Luciani 的脚步https plus google com SilvanoLuciani posts 2kMX